我正在尝试从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
这是用于从Hive读取数据的代码。
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运行,则看不到任何问题,并且正在获取数据。
如果我通过spark scala代码使用相同的代码(我的意思是在集群模式下运行jar),则会遇到上述错误。
有人可以告诉我我在代码Vs spark-shell中做错了什么吗?
谢谢, 宝贝
答案 0 :(得分:0)
通过查看环境或数据库/表并进行比较来尝试进行故障排除
打印配置值
sqlContext.getAllConfs.foreach(println _)
或打印数据库名称和表名称
sqlContext.tableNames().foreach(println _)