DataflowJavaSDK Weekly

DataflowJavaSDK の更新を解説します。このブログは Google 社とは一切関係ありません。

Add stableUniqueNames option, Set PTransform name, ConcatReader, Unbounded custom source

まだ master の HEAD には追いついてませんが 6月頭の commit まで進んでいます。

Add stableUniqueNames option

Add option to treat non-stable-unique name as an error · GoogleCloudPlatform/DataflowJavaSDK@12c18e7 · GitHub

pipeline 実行のオプションに stableUniqueNames というのを追加しています。各 Transform の名前(というのがあるのをはじめて認識しましたが)がユニークでないときに警告やエラー扱いにするように指定できるようにしています。 Streaming mode の pipeline の reload の時に名前がユニークである必要があるそうです。

Set PTransform name

Allow overriding transform name in apply · GoogleCloudPlatform/DataflowJavaSDK@24718be · GitHub

で、おそらくその Streaming mode の pipeline の reload に関連して Transform に PCollection.apply などのメソッド呼び出し時に名前を付けることができるようにメソッドのオーバロードを追加しています。

ConcatReader

Adds ConcatReader - a Reader that may encapsulate one or more Dataflo… · GoogleCloudPlatform/DataflowJavaSDK@d9243e2 · GitHub

複数の Reader を連結できる ConcatReader というクラスが追加されています。当然ながら取り出される型が同じじゃないといけないので、GCS と BigQuery からの入力を連結、というのはできませんが、複数のファイルを連結したり、複数の BigQuery のクエリ結果(スキーマは同じじゃないといけないでしょうけど)を繋げて入力とするのがやりやすくなりそうです。

Unbounded custom source

Windmill API changes for unbounded custom sources · GoogleCloudPlatform/DataflowJavaSDK@5aa8abc · GitHub

Unbounded な custom source のために Windmill API を変更、ということなのですが差分みてもよくわかりません。そもそも .proto ファイルってのは Protocol Buffer の定義ファイルですかね? ただ Stream mode での入力のカスタマイズが可能になるのかもしれないということでちょっと気になりますね。