使用 Spark/scala 附加/连接两个文件

man*_*nie 5 scala hdfs apache-spark

我在 HDFS 中存储了多个文件,我需要使用 Spark 将它们合并为一个文件。然而,因为这个操作是频繁进行的(每小时一次)。我需要将这些多个文件附加到源文件中。

我发现 FileUtil 提供了“copymerge”功能。但它不允许附加两个文件。

感谢您的帮助

小智 2

您可以通过两种方法来完成此操作:

 sc.textFile("path/source", "path/file1", "path/file2").coalesce(1).saveAsTextFile("path/newSource")
Run Code Online (Sandbox Code Playgroud)

或者正如 @Pushkr 所提议的那样

 new UnionRDD(sc, Seq(sc.textFile("path/source"), sc.textFile("path/file1"),..)).coalesce(1).saveAsTextFile("path/newSource")
Run Code Online (Sandbox Code Playgroud)

如果你不想创建一个新的源并每小时覆盖相同的源,你可以使用带有保存模式覆盖的数据帧(如何覆盖spark中的输出目录