【问题标题】:Minimize downtime of the hive table with Spark saveAsTable +overwrite mode使用 Spark saveAsTable +覆盖模式最大限度地减少 Hive 表的停机时间
【发布时间】:2021-10-05 04:50:33
【问题描述】:

我正在尝试将 pyspark dataframewriter 的 saveAsTable 与覆盖模式一起用于配置单元全表刷新用例。我想最大限度地减少我的 impala 用户的表可用性的停机时间,我的 impala 用户可以查询旧数据,直到 spark 加载作业完成。

从我使用 spark 2.4.0 的测试结果中看到,该表对用户不可用,并且在 spark 作业开始后立即被截断,无论该表是外部的还是托管的。

Spark/Hive 有什么开箱即用的解决方案来解决这个可用性问题吗?

【问题讨论】:

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


    【解决方案1】:

    不,没有开箱即用的解决方案。

    1. 您不需要覆盖而是追加、写入版本并允许视图通过控制表通过视图查询最高版本。如果酸表,您稍后会清理旧版本。
    2. 或者使用两个表并使用视图在两者之间切换。更常见。

    【讨论】:

    • 您需要每个表的视图吗?
    • 是的,这是正确的。 @neves
    猜你喜欢
    • 1970-01-01
    • 2020-09-25
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2021-02-18
    相关资源
    最近更新 更多