PySpark 无法通过 sparkContext/hiveContext 读取 Hive ORC 事务 table?我们可以使用 Pyspark update/delete 蜂巢 table 数据吗?

PySpark is not able to read Hive ORC transaction table through sparkContext/hiveContext ? Can we update/delete hive table data using Pyspark?

我尝试使用 PySpark 访问 Hive ORC Transactional table(它在 HDFS 上有底层增量文件),但我无法通过 [=20= 读取事务 table ].

/mydim/delta_0117202_0117202

/mydim/delta_0117203_0117203

Officially Spark not yet supported for Hive-ACID table, get a full dump/incremental dump of acid table to regular hive orc/parquet partitioned table then read the data using spark.

有一个Open Jira saprk-15348添加阅读支持Hive ACID table.

  • 如果你 运行 major compaction 在 Acid table(来自蜂巢)上,那么 spark 能够读取 base_XXX 目录,但不是增量目录 Spark-16996 在这个 jira 中解决。

  • 如link.

  • 中所述,使用SPARK-LLAP读取acid tables有一些变通方法
  • 我觉得HDP-3.XHiveWareHouseConnector开始可以支持阅读蜂巢酸 tables.