2012-01-11 2 views
1

phpcassa에서 batch_mutate() 함수의 예제를 제공 할 수 있습니까?phpcassa cassandra 배치 돌연변이

캔트는이 기능을 사용하는 방법을 이해하고 있지만 충분한 정보를 찾지 못했습니다.

또한 내가 사전에 카운터와

감사를 사용하는 방법을 알고 싶어요. 카운터에

답변

3

"삭제 여러 키의 데이터 ":

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)); 
+0

특정 질문과 어떻게 관련이 있는지 잘 모르시겠습니까? – sdolgy

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); 
+0

batch_remove는 batch_insert로 작동합니까? $ column_family-> batch_remove (array ($ row1, $ row2);? – Undrooleek