数据集中的拆分数目超过数据集拆分限制,dremio+hive+spark

holgip5t  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(415)

我们有一个由hadoop+hive+spark+dremio组成的堆栈,因为spark为一个hive分区写入了许多hdfs文件(取决于worker),dremio在查询表时失败,因为超出了hdfs文件的数量限制,有没有什么方法可以解决这个问题而不必手动在spark中设置少量的worker?(我们不想失去spark分布式性能和好处)。

vdgimpew

vdgimpew1#

你可以用 repartition 它将为每个分区创建一个文件。这将确保每个分区至少有一个任务,这将确保在spark作业中保持足够的并行性。

df.repartition($"a", $"b", $"c", $"d", $"e").write.partitionBy("a", "b", "c", "d", "e").mode(SaveMode.Append).parquet(s"$location")

相关问题