【发布时间】:2018-11-07 23:18:48
【问题描述】:
如何在 Spark sql 中访问 HIVE ACID 表?
【问题讨论】:
-
为什么要投反对票?我认为没有问题。
标签: scala apache-spark-sql hiveql pyspark-sql
如何在 Spark sql 中访问 HIVE ACID 表?
【问题讨论】:
标签: scala apache-spark-sql hiveql pyspark-sql
我们已经开发并开源了一个数据源,使用户能够使用 Spark 处理他们的 Hive ACID 事务表。
Github:https://github.com/qubole/spark-acid
它以 Spark 包的形式提供,使用说明在 Github 页面上。目前数据源仅支持从 Hive ACID 表中读取,我们正在努力添加通过 Spark 写入这些表的功能。
欢迎反馈和建议!
【讨论】:
@aniket Spark 不支持直接读取 Hive Acid 表。 (https://issues.apache.org/jira/browse/SPARK-15348/SPARK-16996) 事务表的数据布局需要特殊的逻辑来决定读取哪些目录以及如何正确组合它们。例如,某些数据文件可能代表先前写入的行的更新。此外,如果您在向此表写入内容时正在阅读,则您的读取可能会失败(没有特殊逻辑),因为它将尝试读取不完整的 ORC 文件。压缩可能(再次没有特殊逻辑)可能会使您的数据看起来像重复。 可以通过 LLAP 完成(WIP) - 在https://issues.apache.org/jira/browse/HIVE-12991中跟踪
【讨论】:
我遇到了同样的问题(Hive 酸表的 Spark),我可以使用来自 Spark 的 JDBC 调用进行管理。也许我可以使用 spark 的这个 JDBC 调用,直到我们从 Spark 获得本机 ACID 支持。
【讨论】:
至少从 spark 2.3.2 开始,Spark 可以直接读取酸表。但我也可以确认它无法读取 spark 2.2.0 中的酸表。
【讨论】: