【发布时间】:2019-02-24 20:29:04
【问题描述】:
ApplicationMaster:用户类抛出异常:org.apache.spark.sql.AnalysisException:找不到表或视图:“DB_X”。“table_Y”
Spark 会话:
SparkSession
.builder()
.appName(appName)
.config("spark.sql.warehouse.dir", "/apps/hive/warehouse")
.enableHiveSupport()
.getOrCreate();
hive-site.xml 中的 Hive 仓库目录:/apps/hive/warehouse/
hadoop fs -ls /apps/hive/warehouse/
drwxrwxrwx - root hadoop 0 2018-09-03 11:22 /apps/hive/warehouse/DB_X.db
hadoop fs -ls /apps/hive/warehouse/DB_X.db
none
这里抛出错误:
spark
.read()
.table("DB_X.table_Y");
在java中:
spark.sql("show databases").show()
default
在 spark-shell 交互中:
spark.sql("show databases").show()
default
DB_X
显示创建表table_Y:
CREATE EXTERNAL TABLE `table_Y`(
...
PARTITIONED BY (
`partition` string COMMENT '')
...
location '/data/kafka-connect/topics/table_Y'
hadoop 文件:
hadoop fs -ls /data/kafka-connect/topics/table_Y
drwxr-xr-x - kafka hdfs 0 2018-09-11 17:24 /data/kafka-connect/topics/table_Y/partition=0
drwxr-xr-x - kafka hdfs 0 2018-09-11 17:24 /data/kafka-connect/topics/table_Y/partition=1
hadoop fs -ls data/kafka-connect/topics/table_Y/partition=0
-rw-r--r-- 3 kafka hdfs 102388 2018-09-11 17:24 /data/kafka-connect/topics/table_Y/partition=0/table_Y+0+0001823382+0001824381.avro
-rw-r--r-- 3 kafka hdfs 102147 2018-09-11 17:24 /data/kafka-connect/topics/table_Y/partition=0/table_Y+0+0001824382+0001825381.avro
...
在 spark-shell 或 hive-shell 中一切正常
hive conf 中的 hive-site.xml 复制到 spark2/conf 中
使用 HDP 2.6.4.0-91 和 spark 2.2
有什么帮助吗?
【问题讨论】:
-
确保您已将 hive-site.xml 复制到 /etc/spark2/conf 目录 cp /etc/hive/conf /hive-site.xml /etc/spark2/conf 然后重启spark2服务,尝试从表中读取数据。
-
你可以从 spark-sql 中的表中选择吗?或者例如在 spark-shell
spark.sql("select * from DB_X.table_Y limit 10") -
也可以试试
spark.sql("show tables in DB_X") -
@Shu hive-site.xml 已经复制到 spark2/conf 中,它可以从 spark-shell 和 hive shell 中工作。
-
@serge_k 是的,从 spark-shell 一切正常
标签: java apache-spark hadoop hive apache-spark-sql