栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Python连接HBase和Spark?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Python连接HBase和Spark?

我发现是由的制造商之一发表的

hbase-spark
,这似乎暗示着有一种方法可以使用Spark
SQL使用PySpark查询Hbase。

实际上,可以将此处描述的模式应用于使用PySpark使用SparkSQL查询Hbase,如以下示例所示:

from pyspark import SparkContextfrom pyspark.sql import SQLContextsc = SparkContext()sqlc = SQLContext(sc)data_source_format = 'org.apache.hadoop.hbase.spark'df = sc.parallelize([('a', '1.0'), ('b', '2.0')]).toDF(schema=['col0', 'col1'])# ''.join(string.split()) in order to write a multi-line JSON string here.catalog = ''.join("""{    "table":{"namespace":"default", "name":"testtable"},    "rowkey":"key",    "columns":{        "col0":{"cf":"rowkey", "col":"key", "type":"string"},        "col1":{"cf":"cf", "col":"col1", "type":"string"}    }}""".split())# Writingdf.write.options(catalog=catalog)  # alternatively: .option('catalog', catalog).format(data_source_format).save()# Readingdf = sqlc.read.options(catalog=catalog).format(data_source_format).load()

我已经尝试过

hbase-spark-1.2.0-cdh5.7.0.jar
(由Cloudera分发),但是遇到了麻烦(
org.apache.hadoop.hbase.spark.DefaultSourcedoes not allow create table as select
java.util.NoSuchElementException:None.get
时,读时)。事实证明,当前版本的CDH不包括
hbase-spark
允许Spark SQL-Hbase集成的更改。

什么
的工作对我来说是

shc
星火包,发现在这里。我必须对以上脚本进行的唯一更改是更改:

data_source_format = 'org.apache.spark.sql.execution.datasources.hbase'

按照

shc
自述文件中的示例,这是我在CDH群集上提交上述脚本的方式:

spark-submit --packages com.hortonworks:shc:1.0.0-1.6-s_2.10 --repositories http://repo.hortonworks.com/content/groups/public/ --files /opt/cloudera/parcels/CDH/lib/hbase/conf/hbase-site.xml example.py

大部分工作

shc
似乎已经合并到
hbase-spark
Hbase模块中,以在2.0版中发布。这样,可以使用上述模式对Hbase进行Spark
SQL查询(有关详细信息,请参见:https:
//hbase.apache.org/book.html#_sparksql_dataframes)。上面的示例显示了PySpark用户的外观。

最后,请注意:我上面的示例数据仅包含字符串。不支持Python数据转换

shc
,因此我遇到了整数和浮点数未在Hbase中显示或出现奇怪值的问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651011.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号