単一の列を持つSparkDataframeがあり、各行は長い文字列(実際にはxmlファイル)です。DataFrameを調べて、各行の文字列をテキストファイルとして保存したいのですが、これらは単に1.xml、2.xmlなどと呼ぶことができます。
これを行う方法に関する情報や例が見つからないようです。そして、私はSparkとPySparkを使い始めたばかりです。DataFrameに関数をマップするかもしれませんが、関数はテキストファイルに文字列を書き込む必要があります。これを行う方法が見つかりません。
Sparkでデータフレームを保存すると、パーティションごとに1つのファイルが作成されます。したがって、ファイルごとに1つの行を取得する1つの方法は、最初にデータを行と同じ数のパーティションに再パーティション化することです。
SparkでXMLファイルを読み書きするためのライブラリがgithubにあります。ただし、正しいXMLを生成するには、データフレームに特別な形式が必要です。この場合、すべてが1つの列に文字列として含まれているため、保存する最も簡単な方法はおそらくcsvです。
再パーティション化と保存は、次のように実行できます。
rows = df.count()
df.repartition(rows).write.csv('save-dir')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加