我从两个来源看到,现在您无法以任何有意义的方式与 Spark 的 HIVE 事务表进行交互。
我看到 Databricks 发布了一个名为Databricks Delta的事务功能。现在是否可以使用此功能读取 HIVE 事务表?
我从两个来源看到,现在您无法以任何有意义的方式与 Spark 的 HIVE 事务表进行交互。
我看到 Databricks 发布了一个名为Databricks Delta的事务功能。现在是否可以使用此功能读取 HIVE 事务表?
没有。不是 Hive 事务表。您创建了一种名为 Databricks Delta Table(镶木地板的 Spark 表)的新型表,并利用 Hive 元存储来读取/写入这些表。
它是一种外部表,但更像是模式的数据。更多 Spark 和 Parquet。
您的问题的解决方案可能是读取配置单元文件并在 Databricks 笔记本中相应地实施架构,然后将其保存为 databricks 增量表。像这样:df.write.mode('overwrite').format('delta').save(/mnt/out/put/path)
您仍然需要编写一个指向该位置的 DDL。仅供参考 DELTA 表是事务性的。
我看不出只强调 Spark 来访问 Hive ACID 的意义。
实际上 Spark 依赖于宿主语言,Python 和 Scala 是最受欢迎的选择。
您可以毫无问题地使用 Python 中的 Hive ACID,这是一个非常成熟的集成。
您的数据可以驻留在 Spark 数据帧或 RDD 上,但只要您可以将其传输到标准 Python 数据结构,您就可以直接从这些数据结构中与 Hive ACID 进行互操作。