catch exceptionorg.apache.spark.sql.analysisexception:未找到表或视图

h6my8fg2  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(333)

我试图从spark scala代码中查询配置单元表,得到以下错误:

catch exceptionorg.apache.spark.sql.AnalysisException: Table or view not found: `databaseName`.`register`; line 1 pos 35;
'Distinct
+- 'Project ['computer_name]
   +- 'UnresolvedRelation `databaseName`.`register`

job failed

下面是从配置单元读取数据的代码。

import org.apache.spark.sql.{SQLContext, SparkSession}
val hc = spark.sqlContext
val dbName = "databaseName"
val tblName = "register"
    val HostDF = hc.sql(s"""select distinct computer_name from ${dbName}.${tblName} """)

如果我浏览了spark shell,我看不到任何问题,我正在获取数据。
如果我通过sparkscala代码使用相同的代码(我的意思是在集群模式下运行jar),我会得到上面提到的错误。
有人能告诉我在代码和Spark壳中我做错了什么吗?
谢谢,巴布

4bbkushb

4bbkushb1#

通过查看env或db/表并进行比较,尝试进行故障排除
打印配置值

sqlContext.getAllConfs.foreach(println _)

或打印数据库名和表名

sqlContext.tableNames().foreach(println _)

相关问题