DataflowJavaSDK Weekly

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

Job name uniqueness, unlimit GCS filezise, Avro Source, Sharding BigQuery output

少々間があきましたが、着実に追い付いてきています。

Job name uniqueness

Add logic in SDK to support unique name check during job creation. · GoogleCloudPlatform/DataflowJavaSDK@1147e4c · GitHub

ジョブ名に自動的に日付や時刻を埋め込みがユニークになることを保証するようにしています。また同名のジョブを投入しようとした時のエラーメッセージも親切なものにしています。 Dataflow のジョブ管理まわりは割と適当でしたが、そろそろこのへんも実装の手が回りはじめたようですね。

unlimit GCS filezise

Turning off the 250Gb upload limit by default · GoogleCloudPlatform/DataflowJavaSDK@fc35bb5 · GitHub

GCS へアップロードするファイルサイズに 250GB の制限があったそうなのですがそれをデフォルトで off にしています。 そんな制限あるとは知らなかった。

Avro Source

Introduces a custom source implementation of Avro · GoogleCloudPlatform/DataflowJavaSDK@81e162e · GitHub

入力 Source に io/AvroSource を追加して Avro 形式のファイルからの入力のサポートを追加しています。 Avro というのはオープンソースの data serialization system だそうで。 https://avro.apache.org/

Sharding BigQuery output

Support per-window tables in BigQueryIO · GoogleCloudPlatform/DataflowJavaSDK@ccad188 · GitHub

BigQuery への出力に BigQueryIO.Write.to() メソッドを追加して streaming モードで Window 毎に別のテーブルへの出力ができるように(BigQueryIO.Write.to() メソッドにテーブル名を返す SerializableFunction を渡せる)しています。おお、これは便利そうですね。テーブルも自動で作ってくれるそうです。