我有多个文件存储在 HDFS 中,我需要使用 spark 将它们合并为一个文件。但是,因为这个操作是经常做的(每小时)。我需要将这些多个文件附加到源文件中。
我发现有提供“copymerge”功能的 FileUtil。但它不允许附加两个文件。
感谢您的帮助
最佳答案
您可以使用两种方法执行此操作:
sc.textFile("path/source", "path/file1", "path/file2").coalesce(1).saveAsTextFile("path/newSource")
或者像@Pushkr 提出的那样
new UnionRDD(sc, Seq(sc.textFile("path/source"), sc.textFile("path/file1"),..)).coalesce(1).saveAsTextFile("path/newSource")
如果您不想创建一个新的源并每小时覆盖相同的源,您可以使用带有保存模式覆盖的数据帧( How to overwrite the output directory in spark )
关于scala - 使用 spark/scala 附加/连接两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43094402/