J'ai construit un Spark dataframe à partir d'une requête. Ce que je veux faire est d'imprimer le dataframe dans un fichier texte avec toutes les informations délimitées par '|', comme ceci:
+-------+----+----+----+
|Summary|col1|col2|col3|
+-------+----+----+----+
|row1 |1 |14 |17 |
|row2 |3 |12 |2343|
+-------+----+----+----+
Comment puis-je faire ceci?
Vous pouvez essayer d'écrire dans csv en choisissant un délimiteur de |
df.write.option("sep","|").option("header","true").csv(filename)
Ce ne serait pas 100% le même mais ce serait proche.
Sinon, vous pouvez récupérer auprès du chauffeur et le faire vous-même, par exemple:
myprint(df.collect())
ou
myprint(df.take(100))
df.collect et df.take renvoient une liste de lignes.
Enfin, vous pouvez récupérer le pilote en utilisant topandas et utiliser pandas tools
Dans Spark 2.0 +, vous pouvez utiliser un écrivain CSV intégré. Ici delimiter
est ,
par défaut et vous pouvez le régler sur |
df.write \
.format('csv') \
.options(delimiter='|') \
.save('target/location')