使用python和' |'将spark数据帧写入文件。分隔符

时间:2017-01-26 12:17:12

标签: python apache-spark pyspark pyspark-sql

我从查询中构造了一个Spark数据帧。我想要做的是将数据框打印到一个文本文件中,其中包含由' |'分隔的所有信息,如下所示:

+-------+----+----+----+
|Summary|col1|col2|col3|
+-------+----+----+----+
|row1   |1   |14  |17  |
|row2   |3   |12  |2343|
+-------+----+----+----+

我该怎么做?

2 个答案:

答案 0 :(得分:8)

您可以尝试写入选择|

分隔符的csv
df.write.option("sep","|").option("header","true").csv(filename)

这不是100%相同,但会很接近。

或者你可以收集给司机并自己动手,例如:

myprint(df.collect())

myprint(df.take(100))

df.collect和df.take返回行列表。

最后,您可以使用topandas收集驱动程序并使用pandas工具

答案 1 :(得分:4)

Spark 2.0 + 中,您可以使用内置的CSV编写器。默认情况下,delimiter ,|,您可以将其设置为df.write \ .format('csv') \ .options(delimiter='|') \ .save('target/location')

<strong ng-bind-html="CTRL.maximum_score"></strong>