在sparkSQL中無法找到Hive表apache.spark.sql.catalyst.analysis.NoSuchTableException:Table or view 'emp' not f
阿新 • • 發佈:2018-12-13
1.問題描述
使用Scala程式設計,通過SparkSession連線hive中的表,但是沒有找到,報錯:
Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Table or view 'emp' not found in database 'default';
然而,在spark-shell中使用同樣的命令,卻可以訪問到hive中的表。很糾結!
附上程式碼:
val spark=SparkSession.builder().appName("HiveMySQLApp").master("local[2]").getOrCreate() //載入hive表 val hiveDF=spark.table("emp") //關閉 spark.close()
2.問題原因
SparkSession沒有開啟支援hive的功能
3.解決辦法
在SparkSession新增支援hive的配置:SparkSession.enableHiveSupport()
val spark=SparkSession.builder().appName("HiveMySQLApp").master("local[2]").enableHiveSupport().getOrCreate()
//載入hive表
val hiveDF=spark.table("emp")
//關閉
spark.close()