繁体   English   中英

如果不使用 Map Reduce,Hive 3 上的 Hive ORC ACID 是否需要 TEZ?

[英]Does Hive ORC ACID on Hive 3 require TEZ if not using Map Reduce?

我的理解是,对于Hive 3 ,如果没有使用 Map Reduce 或用于 Hive 的 Spark 引擎,则使用 MERGE 的 HIVE ORC ACID 表也至少需要 TEZ 作为底层执行引擎。 事实上,我不相信 HIVE MERGE MERGE、更新、删除与 Spark 引擎一起工作。

但是从文档和各种更新中我无法确认这些,因此发布了这篇文章。 似乎很难就这个主题写出一套连贯的散文,而且我远离集群。

而且,来自https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-version-release的斜体和粗体声明说明了我无法遵循的完整事务功能,因为我不知道 SPARK 可以更新、删除关于 HIVE ORC ACID(尚未):

阿帕奇火花

Apache Spark 使用 Hive Warehouse Connector 获取可更新的表和 ACID 事务。 Hive Warehouse Connector 允许您将 Hive 事务表注册为 Spark 中的外部表,以访问完整的事务功能 以前的版本只支持表分区操作。 Hive Warehouse Connector 还支持流式数据帧,用于从 Spark 流式读取和写入事务和流式 Hive 表。

Spark 执行器可以直接连接到 Hive LLAP 守护进程,以事务方式检索和更新数据,从而允许 Hive 保持对数据的控制。

HDInsight 4.0 上的 Apache Spark 支持以下方案:

在用于报告的同一事务表上运行机器学习模型训练。 使用 ACID 事务将列从 Spark ML 安全地添加到 Hive 表。 对来自 Hive 流表的更改源运行 Spark 流作业。 直接从 Spark 结构化流作业创建 ORC 文件。 您不再需要担心意外尝试直接从 Spark 访问 Hive 事务表,从而导致结果不一致、重复数据或数据损坏。 在 HDInsight 4.0 中,Spark 表和 Hive 表保存在不同的 Metastore 中。 使用 Hive 数据仓库连接器将 Hive 事务表显式注册为 Spark 外部表。

上面加粗斜体的说法是不正确的。

https://issues.apache.org/jira/browse/SPARK-15348明确指出 Spark 不允许 HIVE ORC ACID 处理。

MR 正在各种云平台上消失,现在 TEZ 是默认引擎,所以 sqoop 和 Hive ORC ACID 使用它,因此至少需要 TEZ。

注意:我只是在上次作业时才问这个问题,这个讨论来自“楼上”的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM