【发布时间】:2026-02-20 18:50:01
【问题描述】:
我正在关注 spark hbase 连接器基本示例,以在 spark2 shell 版本 2.2.0 中读取 HBase 表。看起来代码正在运行,但是当我运行 df.show() 命令时,我没有看到任何结果,而且它似乎一直在运行。
import org.apache.spark.sql.{ DataFrame, Row, SQLContext }
import org.apache.spark.sql.execution.datasources.hbase._
val sqlContext = new org.apache.spark.sql.SQLContext(sc);
def catalog = s"""{
|"table":{"namespace":"default", "name":"testmeta"},
|"rowkey":"vgil",
|"columns":{
|"id":{"cf":"rowkey", "col":"vgil", "type":"string"},
|"col1":{"cf":"pp", "col":"dtyp", "type":"string"}
|}
|}""".stripMargin
def withCatalog(cat: String): DataFrame = { sqlContext.read.options(Map(HBaseTableCatalog.tableCatalog->cat)).format("org.apache.spark.sql.execution.datasources.hbase").load()}
val df = withCatalog(catalog)
df.show()
df.show() 既不会给出任何输出,也不会给出任何错误。它会一直运行下去。
另外,如何对行键范围运行查询。
这里是 HBase 测试表的扫描。
hbase(main):001:0> scan 'testmeta'
ROW COLUMN+CELL
fmix column=pp:dtyp, timestamp=1541714925380, value=ss1
fmix column=pp:lati, timestamp=1541714925371, value=41.50
fmix column=pp:long, timestamp=1541714925374, value=-81.61
fmix column=pp:modm, timestamp=1541714925377, value=ABC
vgil column=pp:dtyp, timestamp=1541714925405, value=ss2
vgil column=pp:lati, timestamp=1541714925397, value=41.50
我在网上关注了一些解决方案,但遗憾的是无法从 HBase 获取数据。
提前感谢您的帮助!
【问题讨论】:
标签: scala apache-spark hbase