我正在使用 Apache Spark 开发批处理应用程序,我想将最终的 RDD 编写为文本文件,目前我正在使用 RDD 中提供的 saveAsTextFile("filePath")
方法。
我的文本文件包含用 \u0001
分隔符分隔的字段。所以在模型类 toString() 方法中,我添加了所有用 \u0001
分隔符分隔的字段。
这是处理这个问题的正确方法吗?或任何其他可用的最佳方法?
另外,如果我迭代 RDD 并使用 Java 中可用的 FileWriter
类写入文件内容怎么办?
请指教。
问候, 香卡
最佳答案
要写入单个文件,有几个选项。如果您写入 HDFS 或类似的分布式存储,您可以先 coalesce
你的 RDD 缩小到一个分区(注意你的数据必须适合一个 worker ),或者你可以 collect
数据到驱动程序,然后使用文件编写器。
关于java - saveAsTextFile() 将最终的 RDD 写入单个文本文件 - Apache Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145737/