如何使用Spark转换文件,同时保持文件夹结构



我有一堆csv文件在Hive分区模式(s3://csvfiles/Y=2017/M=10/D=12/H=23/M=12/...)中按文件夹排序。

因此,我在每个"小时"文件夹中都很少有csv格式的文件。我想将特定小时的所有文件合并为ORC格式的单个文件,将其写入不同的根文件夹,但保留"日期"模式。所以结果将是这样的:

s3://orcfilesY=2017/M=10/D=12/H=23/singlefile.orc

可以用Spark做到这一点吗?

谢谢

repartitionpartitionBy

val n: Int
df
  .partitionBy(n, $"Y", $"M", $"D", $"H")
  .write.partitionBy("Y", "M", "D", "H").orc(...)

最新更新