任何人都直接在 HBase 表上使用 SparkSQL,就像在 Hive 表上使用 SparkSQL。
我是spark新手。请指导我如何连接hbase和spark。如何查询hbase表。
最佳答案
AFAIK 有两种方法可以连接到 hbase 表
- 直接连接到 Hbase :
直接连接hbase,创建DataFrame
来自 RDD
并在此基础上执行 SQL。
我不会重新发明轮子,请参阅 How to read from hbase using spark
正如上面链接中@iMKanchwala 的回答已经描述了它。唯一的事情是将其转换为数据帧(使用 toDF
)并遵循 sql 方法。
- 使用 hbase 存储处理程序将表注册为 hive 外部表,您可以在 hivecontext 的 spark 上使用 hive。这也是简单的方法。
Ex :
CREATE TABLE users(
userid int, name string, email string, notes string)
STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" =
”small:name,small:email,large:notes”);
如何做到这一点,请参阅 example
我更喜欢方法1。
希望有帮助...
关于apache-spark - HBase 表上的 SparkSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39530938/