【问题标题】:Hive partitions to Spark partitionsHive 分区到 Spark 分区
【发布时间】:2018-07-30 16:25:33
【问题描述】:

出于效率原因,我们需要处理具有分区数据的大型数据集。数据源位于 Hive 中,但具有不同的分区标准。换句话说,我们需要将数据从 Hive 检索到 Spark,并在 Spark 中重新分区。

但是 Spark 中有一个issue,当数据被持久化(parquet 或 ORC)时,它会导致重新排序/重新分配分区。因此,我们在 Spark 中的新分区丢失了。

作为替代方案,我们正在考虑在新的 Hive 表中构建新的分区。问题是:是否可以从 Hive 分区映射 Spark 分区(用于读取)?

【问题讨论】:

  • 那么,你看了吗?我认为这可以帮助你。
  • 这种做法恐怕与此不一致:一般而言,Hive 分区不会 1:1 映射到 Spark 分区。 1个Hive partition可以拆分成多个Spark partition,一个Spark partition可以容纳多个hive-partition。,据this other answer
  • 好吧,也许你应该自己尝试一下?你有吗?
  • spark.apache.org/docs/latest/…。下周我会再试一次,以防万一发生变化。

标签: apache-spark hive


【解决方案1】:

Partition Discovery --> 可能就是你要找的东西:

" 将 path/to/table 传递给 SparkSession.read.parquet 或 SparkSession.read.load,Spark SQL 将自动从路径中提取分区信息。"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2018-10-03
    • 2018-10-05
    • 1970-01-01
    相关资源
    最近更新 更多