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

将用于mapreduce的Python脚本传递到HBase

我们在Hadoop上有一个HBase实现.到目前为止,我们所有的Map-Reduce作业都被编写为Java类.我想知道是否有使用Python脚本传递给HBase进行Map-Reduce的好方法.

解决方法:

一个很好的开源库可用于此目的.它称为happybase,可用值为here.它使用用于HBase的Thrift API进行连接.

这是用happybase完成的一些简单HBase操作的示例:

import happybase

connection = happybase.Connection('localhost')
table = connection.table('my-table')

table.put('row-key', {'family:qual1': 'value1','family:qual2': 'value2'})
row = table.row('row-key')print row['family:qual1']  
# prints 'value1'
for key, data in table.rows(['row-key-1', 'row-key-2']):    
    print key, data  # prints row key and data for each row
for key, data in table.scan(row_prefix='row'):    
    print key, data  # prints 'value1' and 'value2'
row = table.delete('row-key')

因此,如果您想使用Python运行Map / Reduce作业以访问HBase,则可以执行以下操作:

>在所有数据节点上安装happybase.
>使用详细信息in the streaming section的Python流在集群上运行您的作业.

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

相关推荐