微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用thrift在HBase中编写php数组

我有一个Thrift PHP客户端,我想写一个HBase表,我正在做以下事情:

  $mutations = array(
    new Mutation( array(
      'column' => 'entry:num',
      'value' => array('a','b','c')
    ) ),
  );
  $client->mutateRow( $t, $row, $mutations );

问题是当在HBase中插入时,值(即数组)将转换为“Array”而不是存储数组的元素.
如何将列表存储为数组(或字节数组)

解决方法:

HBase变异对象需要三个具有布尔/文本值的字段,而不是数组.因此,您需要将任何结构化值转换为字符串,例如.

  $mutations = array(
     new Mutation( array(
       'isDelete' => FALSE,
       'column'   => 'entry:num',
       'value'    => serialize(array('a','b','c'))
     ) ),
   );
   $client->mutateRow( $t, $row, $mutations );

HBase Thrift API的定义在这里;
http://svn.apache.org/viewvc/hbase/trunk/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup

我没有测试过这个.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐