我正在使用Spark(2.1.1)的最新版本。我把多个csv文件读到dataframespark.read.csv. 处理完此数据帧后,如何将其保存到具有特定名称的csv输出文件中。在
例如,有100个输入文件(in1.csv,in2.csv,in3.csv,…in100.csv)。 属于in1.csv的行应另存为in1-结果.csv. 属于in2.csv的行应另存为in2-结果.csv以此类推。(默认文件名将类似于part-xxxx-xxxxx,不可读)
我已经看到了partitionBy(col),但看起来它只能按列进行分区。在
另一个问题是我想绘制我的数据帧。Spark没有内置的打印库。很多人使用东方达()转换成熊猫并策划它。有更好的解决办法吗?因为我的数据很大,toPandas()会导致内存错误。我正在服务器上工作,希望将绘图保存为图像而不是显示。在
我建议在与输入文件相关的特定目录中写入数据帧的解决方案如下:
withColumn
转换添加包含有关输入文件信息的新列union
转换联合所有数据帧partitionBy
保存结果,以便与同一输入文件相关的行将保存在同一输出目录中代码可能看起来像:
相关问题 更多 >
编程相关推荐