我使用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.
答案 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应用程序将失败,并且找不到表异常。
解决方法: