Spark SQL在HDP中的Hive中找不到表

时间:2019-04-20 12:09:14

标签: apache-spark hive hdp

我使用HDP3.1,并添加了所需的Spark2,Hive和其他服务。我打开了Hive中的ACID功能。 spark作业无法在配置单元中找到表格。但是该表存在于Hive中。异常喜欢: org.apache.spark.sql.AnalysisException:找不到表或视图     Spark的conf文件夹中有hive-site.xml。它由HDP自动创建。但这与hive的conf文件夹中的文件不同。并且从日志中,火花可以正确获取配置单元的节俭URI。     我使用spark sql并在spark-shell中创建了一个配置单元表。我发现该表是在spark.sql.warehouse.dir指定的折叠中创建的。我将其值更改为hive.metastore.warehouse.dir的值。但是问题仍然存在。     在创建Spark会话时,我还启用了蜂巢支持。

The test class is instantiated.
The test class is initialized.

3 个答案:

答案 0 :(得分:0)

spark的conf文件夹中的hive-site.xml中有metastore.catalog.default。它的价值是火花。应该将其更改为配置单元。顺便说一句,我们应该禁用蜂巢的ACID功能。

答案 1 :(得分:0)

您可以使用hivewarehouse连接器,并在hive conf中使用lap

答案 2 :(得分:0)

在HDP 3.0及更高版本中,Spark和Hive使用独立的目录来访问相同或不同平台上的SparkSQL或Hive表。

Spark默认情况下仅读取Spark目录。而且,这意味着尝试读取/写入使用hive CLI创建的表的Spark应用程序将失败,并且找不到表异常。

解决方法: