我正在尝试在现有的HBase表(HBase通过Kerberos保护)上创建spark数据帧。我需要在此表上执行一些Spark Sql操作。
我尝试在Hbase表上创建RDD,但无法将其转换为数据框。
答案 0 :(得分:1)
您可以使用HBase存储处理程序创建配置单元外部表,然后使用该表运行您的spark-sql查询。
创建配置单元外部表:
CREATE TABLE foo(rowkey STRING, a STRING, b STRING)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (‘hbase.columns.mapping’ = ‘:key,f:c1,f:c2’)
TBLPROPERTIES (‘hbase.table.name’ = ‘bar’);
Spark-sql: val df = spark.sql(“ SELECT * FROM foo WHERE…”)
注意:这里的火花是一个SparkSession