2

我从两个来源看到,现在您无法以任何有意义的方式与 Spark 的 HIVE 事务表进行交互。

蜂巢酸

Spark 无法读取 Hive 事务表

我看到 Databricks 发布了一个名为Databricks Delta的事务功能。现在是否可以使用此功能读取 HIVE 事务表?

4

2 回答 2

3

没有。不是 Hive 事务表。您创建了一种名为 Databricks Delta Table(镶木地板的 Spark 表)的新型表,并利用 Hive 元存储来读取/写入这些表。

它是一种外部表,但更像是模式的数据。更多 Spark 和 Parquet。

您的问题的解决方案可能是读取配置单元文件并在 Databricks 笔记本中相应地实施架构,然后将其保存为 databricks 增量表。像这样:df.write.mode('overwrite').format('delta').save(/mnt/out/put/path) 您仍然需要编写一个指向该位置的 DDL。仅供参考 DELTA 表是事务性的。

于 2018-12-13T09:38:12.103 回答
0

我看不出只强调 Spark 来访问 Hive ACID 的意义。

实际上 Spark 依赖于宿主语言,Python 和 Scala 是最受欢迎的选择。

您可以毫无问题地使用 Python 中的 Hive ACID,这是一个非常成熟的集成。

您的数据可以驻留在 Spark 数据帧或 RDD 上,但只要您可以将其传输到标准 Python 数据结构,您就可以直接从这些数据结构中与 Hive ACID 进行互操作。

于 2019-09-19T11:48:46.960 回答