2016-10-28 12 views
0

PCollection<KV<String, String>>から複数のファイルに出力するにはどうすればよいですか?PCollection <KV <String、String >>から複数のテキストファイルを出力

各エントリのキーはファイル名です。 groupByKey変換は私にPCollection<KV<String, Iterable<String>>>を与えますが、どのように複数のファイルに書き込むことができますか?例えば

、以下の入力

<file1, value1> 
<file2, value2> 
<file1, value3> 

与えられた私は、データフローは現在、それはあなたのためにこれを行うことができます変換する必要はありません出力2つのファイル

file1: 
    value1 
    value3 

file2: 
    value2 
+0

これは、TextIO.write()。〜(DynamicDestinations)から利用可能です。 https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextIO.java#L571を参照してください。 – jkff

答えて

2

をしたいと思います。回避策として、KVからファイル名を抽出し、IOChannelFactoryを使用してファイルを開き、Iterable<String>を書き込む単純なDoFnを使用してこれを行うことができます。

similar questionおよびanother oneを参照してください。

私たちはこのhttps://issues.apache.org/jira/browse/BEAM-92に対処する予定ですが、具体的なタイムラインはまだありません。

関連する問題