【问题标题】:phpcassa cassandra batch mutationphpcassa cassandra 批量突变
【发布时间】:2012-02-02 18:58:51
【问题描述】:

你能提供一个phpcassa中batch_mutate()函数的例子吗?

无法理解如何使用此功能,也没有找到足够的信息。

我也想知道如何将它与计数器一起使用

提前致谢。

【问题讨论】:

    标签: cassandra phpcassa


    【解决方案1】:

    “从多个键中删除数据”:

    function batch_remove($key=null, $columns=null, $super_column=null, $write_consistency_level=null) {
    
        $timestamp = CassandraUtil::get_time();
        $deletion = new cassandra_Deletion();
        $deletion->timestamp = $timestamp;
    
        if ($super_column !== null) $deletion->super_column = $this->pack_name($super_column, true);
        else $deletion->super_column = null;
    
        if ($columns !== null) {
            $predicate = $this->create_slice_predicate($columns, '', '', false, self::DEFAULT_COLUMN_COUNT);
            $deletion->predicate = $predicate;
        }
    
        $mutation = new cassandra_Mutation();
        $mutation->deletion = $deletion;
    
        if (is_array($key) && count($key) >= 1) {
    
            $mut_map = array();
            foreach($key as $v) {
                $packed_key[$v] = $this->pack_key($v);
                $mut_map[$v] = array($this->column_family => array($mutation));
            }
    
            return $this->pool->call("batch_mutate", $mut_map, $this->wcl($write_consistency_level));
    
        } else return false;
    
    }
    
    //delete name1, name2, name3 from key1, key2 in a single call
    $column_family->batch_remove(array(key1, key2), array(name1, name2, name3));
    

    【讨论】:

    • 不确定这与所提出的具体问题有何关系?
    【解决方案2】:
    1. 计数器上的 batch_mutate 在 PHPCassa 中尚不可用:https://github.com/thobbs/phpcassa/issues/31
    2. batch_mutate 在行动中,根据教程:http://thobbs.github.com/phpcassa/tutorial.html

    “插入数据”:

     $row1 = array('name1' => 'val1', 'name2' => 'val2');
     $row2 = array('foo' => 'bar');
     $column_family->batch_insert(array('row1' => $row1, 'row2' => $row2);
    

    【讨论】:

    • batch_remove 作为batch_insert 工作? $column_family->batch_remove(array($row1,$row2); ?
    猜你喜欢
    • 2013-12-25
    • 2011-02-22
    • 1970-01-01
    • 2014-11-21
    • 2012-02-18
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多