HBase表上的SparkSQL

use*_*138 5 hbase apache-spark apache-spark-sql

任何人都直接在HBase表上使用SparkSQL,就像在Hive表上使用SparkSQL一样。我是Spark的新手,请指导我如何连接hbase和spark。如何在hbase表上进行查询。

Ram*_*ram 6

AFAIK有2种方法连接到hbase表

-直接连接到Hbase:

直接连接hbase并创建DataFramefrom RDD并在其上执行SQL。我不会重新发明轮子,请参阅 上面的链接中@iMKanchwala的回答,请参阅如何使用spark从hbase读取。唯一的事情是将其转换为dataframe(使用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”);
Run Code Online (Sandbox Code Playgroud)

如何做,请看一个例子

我更喜欢方法1。

希望有帮助...