1. ホーム
  2. apache-spark

[解決済み] sparkでsaveAsTextFileするときのファイル名の付け方は?

2022-02-11 15:42:25

質問

sparkバージョン1.5.1でテキストファイルとして保存する際に、以下のように使っています。 rdd.saveAsTextFile('<drectory>') .

しかし、そのディレクトリにあるファイルを見つけたい場合、どのように好きな名前をつければいいのでしょうか?

現在、この名前は part-00000 というのは、何らかのデフォルトでなければなりません。 どのように名前をつければいいのでしょうか?

解決方法は?

上のコメントで述べたように、例を含むドキュメントがあります。 こちら . そして、メソッドの説明を引用すると saveAsTextFile :

<ブロッククオート

このRDDを、要素の文字列表現を使って、テキストファイルとして保存する。

次の例では、簡単なRDDをファイルに保存し、それをロードしてその内容を表示しています。

samples = sc.parallelize([
    ("[email protected]", "Alberto", "Bonsanto"),
    ("[email protected]", "Miguel", "Bonsanto"),
    ("[email protected]", "Stranger", "Weirdo"),
    ("[email protected]", "Dakota", "Bonsanto")
])

print samples.collect()

samples.saveAsTextFile("folder/here.txt")
read_rdd = sc.textFile("folder/here.txt")

read_rdd.collect()

出力は次のようになります。

('[email protected]', 'Alberto', 'Bonsanto')
('[email protected]', 'Miguel', 'Bonsanto')
('[email protected]', 'Stranger', 'Weirdo')
('[email protected]', 'Dakota', 'Bonsanto')

[u"('[email protected]', 'Alberto', 'Bonsanto')",
 u"('[email protected]', 'Miguel', 'Bonsanto')",
 u"('[email protected]', 'Stranger', 'Weirdo')",
 u"('[email protected]', 'Dakota', 'Bonsanto')"]

Unixベースの端末で見てみましょう。

usr@host:~/folder/here.txt$ cat *
('[email protected]', 'Alberto', 'Bonsanto')
('[email protected]', 'Miguel', 'Bonsanto')
('[email protected]', 'Stranger', 'Weirdo')
('[email protected]', 'Dakota', 'Bonsanto')