1

spark の標準形式を使用せずに出力フォルダーにデータを書き込みたい:

ここに画像の説明を入力

特定のファイル名と拡張子 (json) のみでデータを出力する方法はありますか?

助けてくれてありがとう!

4

1 に答える 1

0

いいえ、ありません。すべてを 1 つのパーティションにまとめてから書き込むことは、Spark の意図した使用例ではありません。一貫した動作を維持するために、データセットの書き込み時に DataFrame のパーティション数は無視され、フォルダーが常に作成され、そのフォルダー内の各ファイルは処理中のパーティションに関連付けられます。

ただし、ドライバーがパーティションを保持できることがわかっている場合は、標準の Python 機能を使用できます。

import json
data = [row.asDict() for row in dataframe.collect()]
with open("name_of_file.json", "w") as fh:
    json.dump(obj=data, fp=fh)

この場合、JSONlines 形式を取得できないことに注意してください。ただし、それを回避する方法もあります。

于 2019-12-09T20:16:42.937 に答える