出于效率考虑,我们需要处理具有分区数据的大型数据集。数据源位于Hive中,但是具有不同的分区标准。换句话说,我们需要从Hive到Spark检索数据,然后在Spark中重新分区。
但是Spark中有一个issue,当持久化数据(对镶木地板或ORC)时,会导致重新排序/重新分配分区。因此,我们在Spark中的新分区丢失了。
作为替代方案,我们正在考虑在新的Hive表中构建新分区。问题是:是否可以从Hive分区映射Spark分区(供读取)?
答案 0 :(得分:1)
分区发现->可能就是您想要的:
“将路径/目标/表传递到SparkSession.read.parquet或SparkSession.read.load,Spark SQL将自动从路径中提取分区信息。”