gpt4 book ai didi

apache-spark - Spark 仓库 VS Hive 仓库

转载 作者:行者123 更新时间:2023-12-04 15:53:13 37 4
gpt4 key购买 nike

Hortonworks 数据平台 HDP 3.0 有 spark 2.3 和 Hive 3.1,默认情况下 spark 2.3 应用程序(pyspark/spark-sql 等)使用 spark 数据仓库,Spark 2.3 使用 Hive Warehouse Connector 以不同的方式与 Apache Hive 集成。

integrating-apache-hive-with-apache-spark-hive-warehouse-connector

我可以在 Hive metastore (MySQL) 中看到 2 个默认数据库。一个指向 Hive 位置,另一个指向 spark 位置。

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>

谁能解释一下这两种类型的仓库有什么区别,我找不到任何关于这方面的文章,我们可以使用 spark 仓库而不是 Hive(我知道 spark 仓库不能通过 Hive 访问,或者有什么办法吗?)。这2个(spark仓库和hive仓库)各有什么优缺点?

最佳答案

从 HDP 3.0 开始,Apache Hive 和 Apache Spark 的目录是分开的,它们使用自己的目录;也就是说,它们是互斥的——Apache Hive 目录只能被 Apache Hive 或这个库访问,而 Apache Spark 目录只能被 Apache Spark 中现有的 API 访问。换句话说,一些功能,如 ACID 表或 Apache Ranger with Apache Hive 表只能通过 Apache Spark 中的这个库获得。 Hive 中的这些表不应直接在 Apache Spark API 中访问。

默认情况下,spark 使用 spark 目录,下面的文章解释了如何通过 Spark 访问 Apache Hive 表。

Integrating Apache Hive with Apache Spark - Hive Warehouse Connector

一些额外细节的 Github 链接:

HiveWarehouseConnector - Github

关于apache-spark - Spark 仓库 VS Hive 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53044191/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com