我创建了一个名为emp的虚拟HBase表,其中包含一条记录。以下是数据。
> hbase(main):005:0> put 'emp','1','personal data:name','raju' 0 row(s)
> in 0.1540 seconds
> hbase(main):006:0> scan 'emp' ROW
> COLUMN+CELL 1 column=personal
> data:name, timestamp=1512478562674, value=raju 1 row(s) in 0.0280
> seconds
现在,我使用HBase
在pySpark
和shc
之间建立了联系。您可以帮助我使用代码在HBase table
中阅读上述dataframe
PySpark
。
版本细节:
Spark Version 2.2.0, HBase 1.3.1, HCatalog 2.3.1
答案 0 :(得分:0)
您可以尝试这样
pyspark --master local --packages com.hortonworks:shc-core:1.1.1-1.6-s_2.10 --repositories http://repo.hortonworks.com/content/groups/public/ --files /etc/hbase/conf.cloudera.hbase/ hbase-site.xml
empdata = ''.join("""
{
'table': {
'namespace': 'default',
'name': 'emp'
},
'rowkey': 'key',
'columns': {
'emp_id': {'cf': 'rowkey', 'col': 'key', 'type': 'string'},
'emp_name': {'cf': 'personal data', 'col': 'name', 'type': 'string'}
}
}
""".split())
df = sqlContext \
.read \
.options(catalog=empdata) \
.format('org.apache.spark.sql.execution.datasources.hbase') \
.load()
df.show()
[请参阅此博客以获取更多信息]
https://diogoalexandrefranco.github.io/interacting-with-hbase-from-pyspark/