【发布时间】:2020-11-04 23:57:23
【问题描述】:
我正在尝试通过 spark sql 连接器加载 HBase 表。 我能够得到表的架构
val port = s"${configuration.get(ZOOKEEPER_CLIENT_PORT, "2181")}"
val znode = s"${configuration.get(ZOOKEEPER_ZNODE_PARENT, "/hbase")}"
val zkUrl = s"${configuration.get(ZOOKEEPER_QUORUM, "localhost")}"
val url = s"jdbc:phoenix:$zkUrl:$port:$znode"
val props = new Properties()
val table ="SOME_Metrics_Test"
props.put("driver", "org.apache.phoenix.jdbc.PhoenixDriver")
val df = spark.read.jdbc(url, getEscapedFullTableName(table), props)
如果我执行 df.printSchema,我可以获取表的架构
scala> df.printSchema
root
|-- PK: string (nullable = false)
|-- status: string (nullable = true)
|-- other_Status: string (nullable = true)
但是当我执行df.show 时,我收到了这个错误:
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=SOME_Metrics_Test
at org.apache.phoenix.query.ConnectionQueryServicesImpl.getAllTableRegions(ConnectionQueryServicesImpl.java:542)
at org.apache.phoenix.iterate.BaseResultIterators.getParallelScans(BaseResultIterators.java:480)
知道为什么会出现这个错误,我可以做些什么来解决它?
在启动 spark shell 时,我在 spark-shell 命令中添加了 phoenix-4.7.0-HBase-1.1-client-spark.jar 和 hbase-site.xml。
【问题讨论】:
标签: apache-spark hbase phoenix