如何使用pyspark从HBase表中读取数据?

问题描述 投票:1回答:1

我创建了一个名为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                                  

现在我已经使用HBasepySparkshc之间建立了连接。能否请您帮我提供代码,以将以上HBase table读取为dataframe中的PySpark

版本详细信息:

Spark Version 2.2.0, HBase 1.3.1, HCatalog 2.3.1
apache-spark pyspark hbase
1个回答
0
投票

您可以尝试这样

pyspark --master local --packages com.hortonworks:shc-core:1.1.1-1.6-s_2.10 --repositorieshttp://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/

© www.soinside.com 2019 - 2024. All rights reserved.