我有一个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] 举报,一经查实,本站将立刻删除。