Apache spark 数据集中的拆分数量超过数据集拆分限制Dremio+;蜂巢&x2B;火花

Apache spark 数据集中的拆分数量超过数据集拆分限制Dremio+;蜂巢&x2B;火花,apache-spark,hadoop,hive,dremio,Apache Spark,Hadoop,Hive,Dremio,我们有一个由Hadoop+Hive+Spark+Dremio组成的堆栈,因为Spark为单个Hive分区写入了许多HDFS文件(取决于工作进程),Dremio在查询表时失败,因为HDFS文件的数量超过了限制,有没有办法解决这个问题而不必在Spark中手动设置较少的工作进程?(我们不想失去spark分布式性能和优势)。您可以使用重新分区,它将为每个分区创建一个文件。这将确保每个分区至少有一个任务,这将确保spark作业中保持足够的并行性 df.repartition($"a", $"b", $"c

我们有一个由Hadoop+Hive+Spark+Dremio组成的堆栈,因为Spark为单个Hive分区写入了许多HDFS文件(取决于工作进程),Dremio在查询表时失败,因为HDFS文件的数量超过了限制,有没有办法解决这个问题而不必在Spark中手动设置较少的工作进程?(我们不想失去spark分布式性能和优势)。

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

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