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

标签 scala apache-spark hdfs

我有多个文件存储在 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/

相关文章:

scala - 配置 sbt 项目以在 "sbt run"中包含外部 Main 方法

Scala:我有一个 Set[X] 和函数 (X) => Future[Y] 并想输出一个 Future[Map[X, Y]]

scala - 使用 `firstOption` 和 slick 3

scala - 如何将 ML 稀疏向量类型的变量转换为 MLlib 稀疏向量类型?

hadoop - HDFS 工业存储标准文件格式?

scala - 使用 TCP 流并将其重定向到另一个 Sink(使用 Akka Streams)

scala - 使用正则表达式基于另一个 RDD 过滤一个 RDD

hadoop - 如何在 HIVE 表中找到最近的分区

hadoop - 每个 Hadoop 映射器将读取的默认大小是多少?

hadoop - 使用配置单元初始化数据库时出现 java.sql.SQLException : Failed to start database 'metastore_db' ERROR,