如何使用 RDD.save as Text 文件保存具有分隔格式的文本文件?..我还需要将数据帧列写入作为标题。.我如何实现这一点?
对于大型 RDD 有没有比下面更简单的方法..
List<Row> data = resultFrame.toJavaRDD().collect();
try {
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fw);
for (Row dataRow:data)
{
StringBuilder row = new StringBuilder();
for(int i = 0; i<dataRow.size();i++)
{
row.append(dataRow.get(i));
if (i != dataRow.size()-1)
{
row.append("~");
}
}
bufferedWriter.write(row.toString());
bufferedWriter.write("\n");
row.setLength(0);
}
bufferedWriter.close();
} catch (IOException e) {
LOGGER.error("Error in writing to the ruf file");
}
最佳答案
正如您使用SQLContext.read ( Java API ) 进行阅读一样,您也需要使用DataFrame.write ( Java API )。
其他方式已弃用(例如 SQLContext.parquetFile、SQLContext.jsonFile)。
关于java - RDD另存为文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412672/