使用 spark-submit 无法从 hive 中找到表

Posted

技术标签:

【中文标题】使用 spark-submit 无法从 hive 中找到表【英文标题】:cannot find table from hive using spark-submi 【发布时间】:2018-09-10 07:32:18 【问题描述】:

这是我的简单代码。

spark.sql("select * from default.some_table")

在 zeppelin 或 spark-shell 中使用此代码时,它可以完美运行。

但是,试试 spark-submit 命令

发生以下错误

diagnostics: User class threw exception: org.apache.spark.sql.AnalysisException: Table or view not found:: `default`.`some_table`; line 1 pos 14;

有什么帮助吗?

这是我的 spark 提交命令

spark-submit --class com.any.any.App  --master yarn --deploy-mode cluster app.jar

感谢

【问题讨论】:

这可能是这个链接中的答案——https://***.com/questions/38931303/spark-2-0-table-or-view-not-found-when-querying-hive @Rani thanx,但就我而言,我可以使用 spark.catalog.listTables("default").show() 检索我的所有表,因此它需要不同的解决方案.. 【参考方案1】:

解决了!!创建SparkSession时需要设置hive.metastore.warehouse.dir!!

val spark = SparkSession
  .builder()
  .appName("mbp stream layer on nuri cluster")
  .config("hive.metastore.warehouse.dir", warehouseLocation)
  .enableHiveSupport()
  .getOrCreate()

【讨论】:

以上是关于使用 spark-submit 无法从 hive 中找到表的主要内容,如果未能解决你的问题,请参考以下文章

Spark-submit提交任务,封装shell脚本,shell脚本创建HBase表,批量导hive表

无法从 spark-submit 分配内存错误到 AWS EMR give

spark-submit 如何在集群模式下传递 --driver-class-path?

hive查询为啥在yarn上看不到

spark sql应该如何配置访问hive metastore? [复制]

spark-submit - 无法解析主网址