web-dev-qa-db-ja.com

sparkと '|'区切り文字を使用してpythonデータフレームをファイルに書き込む

クエリからSpark=データフレームを作成しました。次のように、データフレームを '|'で区切られたテキストファイルに出力します。

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

これどうやってするの?

7
Brian Waters

|の区切り文字を選択してcsvに書き込もうとすることができます。

df.write.option("sep","|").option("header","true").csv(filename)

これは100%同じではありませんが、近いです。

または、ドライバーに集まって自分で行うこともできます。例:

myprint(df.collect())

または

myprint(df.take(100))

df.collectおよびdf.takeは、行のリストを返します。

最後に、topandasを使用してドライバーに収集し、pandas toolsを使用します。

12
Assaf Mendelson

Spark 2.0 +では、組み込みのCSVライターを使用できます。ここでdelimiterはデフォルトで,であり、|に設定できます

df.write \
    .format('csv') \
    .options(delimiter='|') \
    .save('target/location')
4
mrsrinivas