apache-spark - HBase 表上的 SparkSQL

标签 apache-spark hadoop apache-spark-sql hbase

任何人都直接在 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/

相关文章:

r - Hadoop 和 R 入门

apache-spark - 为什么Spark认为这是交叉/笛卡尔式联接

apache-spark - 如何在 Pyspark 中对数据框进行排序

sql - to_json 不能在 spark 中使用 selectExpr

hadoop - hadoop流获取最佳插槽数量

java - 多线程 spark sql 作业总是失败

apache-spark - 结构化流并将嵌套数据拆分为多个数据集

scala - 通用 T 作为 Spark Dataset[T] 构造函数

hadoop - 无法通过PySpark访问HDFS中的文件

java - org.springframework.beans.factory.NoSuchBeanDefinitionException : No qualifying bean of type [org. springframework.data.hadoop.hive.HiveOperations]