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中的输出目录)