【问题标题】:PySpark is not able to read Hive ORC transaction table through sparkContext/hiveContext ? Can we update/delete hive table data using Pyspark?PySpark 无法通过 sparkContext/hiveContext 读取 Hive ORC 事务表?我们可以使用 Pyspark 更新/删除配置单元表数据吗?
【发布时间】:2019-08-01 14:57:55
【问题描述】:

我尝试使用 PySpark 访问 Hive ORC 事务表(在 HDFS 上有基础增量文件),但我无法通过 sparkContext/hiveContext 读取事务表。

/mydim/delta_0117202_0117202

/mydim/delta_0117203_0117203

【问题讨论】:

    标签: apache-spark hadoop hive pyspark pyspark-sql


    【解决方案1】:

    Hive-ACID 表尚未正式支持 Spark,请获取 full dump/incremental dump of acid table 到常规的 hive orc/parquet 分区表,然后使用 spark 读取数据。

    有一个 Open Jira saprk-15348 以添加对读取 Hive ACID 表的支持。

    • 如果您在 Acid 表(来自 hive)上运行 major compaction,则 spark 只能读取 base_XXX 目录,但不能读取增量目录 Spark-16996在这个 jira 中解决。

    • 有一些解决方法可以使用此链接中提到的SPARK-LLAP 读取酸表。

    • 我认为HDP-3.X开始HiveWareHouseConnector能够支持读取HiveAcid表。

    【讨论】:

    • 我已经测试过了。从 CDP - HDP-3.0 开始,使用带有 Spark 的 Hive Warehouse Connector 库/插件将为 Hive 表(ORC 格式表)启用 ACID 合规性
    猜你喜欢
    • 2021-10-23
    • 2019-04-21
    • 1970-01-01
    • 2018-10-19
    • 2019-07-27
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多