Hortonworks数据平台HDP 3.0有spark 2.3和Hive 3.1,默认情况下spark 2.3应用程序(pyspark/ Spark sql等)使用spark数据仓库,而Spark 2.3使用Hive Warehouse连接器与Apache Hive集成。
integrating-apache-hive-with-apache-spark-hive-warehouse-connector
我可以在蜂巢转移(MySQL)中看到两个默认的数据库。一个指向蜂巢位置,另一个指向火花位置。
mysql> SELECT NAME, DB_LOCATION_URI FROM hive.DBS;
+--------+----------------------------------------------------------+
| NAME | DB_LOCATION_URI |
+--------+----------------------------------------------------------+
| default| hdfs://<hostname>:8020/warehouse/tablespace/managed/hive |
| default| hdfs://<hostname>:8020/apps/spark/warehouse |
+--------+----------------------------------------------------------+
mysql>有谁能解释一下这两类仓库之间的区别是什么,我找不到这方面的任何文章,我们是否可以使用火花仓库而不是蜂巢(我知道火花仓库不会通过蜂巢访问,或者有任何方法?)这2(火花仓库和蜂巢仓库)的优缺点是什么?
发布于 2019-01-21 14:31:39
从HDP 3.0开始,Apache Hive和Apache Spark的目录是分开的,它们使用自己的目录;也就是说,它们是相互排斥的-- Apache Hive目录只能由Apache Hive或这个库访问,Apache Spark目录只能通过Apache中的现有API访问。换句话说,一些特性,例如ACID表或Apache表中的Apache,只能通过Apache中的这个库获得。Hive中的那些表不应该在Apache本身中直接访问。
默认情况下,Spark使用星火目录,下面的文章解释如何通过spark访问Apache表。
指向其他详细信息的Github链接:
发布于 2020-11-27 16:55:58
在HDP 3.1.4中,您可以在火花仓库和蜂巢仓库之间切换。您只需在Ambari中配置它: Services -> Spark2 -> Configs -> AdvancedSpark2-hive-site-override
默认值:
metastore.catalog.default = spark改为:
metastore.catalog.default = hive

在Ambari中重新启动Spark2,您可以使用以下方式访问Hive:
spark.sql('show databases').show()https://stackoverflow.com/questions/53044191
复制相似问题