Spark SQL 读取 Hive表中数据 在Cluster模式下找不到库

在Spark On Hive使用SparkSQL读取hive表中的数据,local和client模式下测试都可以通过,但在yarn的cluster模式下测试抛出了如下异常:

org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database ‘test’ not found;

最后找出原因:把spark的任务jar放到yarn集群上面运行时,执行job的节点可能不是Hive所在的节点。则会找不到Hive的配置文件,造成找不到数据库错误。
所以要用 --files 把hive-site.xml广播到各个节点
spark-submit --master yarn --deploy-mode cluster --files …/hive-site.xml --…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章