【发布时间】: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