DataflowJavaSDK Weekly

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

Revert MapFn and FlatMapFn, Credential with gcloud, Use PTransform more than once, Cancel pipeline from CLI

引き続き 5月中旬〜後半頃の commit を読み進めています。 ちなみに今週はあまり更新がない(push されてない)のであと 25 commits ほどで追いつきそうです(ということはこのペースだとまた引きはなされそう)。

Revert MapFn and FlatMapFn

Revert "Add MapFn and FlatMapFn" · GoogleCloudPlatform/DataflowJavaSDK@0f00695 · GitHub

前回 コメントした MapFn と FlatMapFn の追加ですが、実はその後 revert されてしまっていました。oh...

Credential with gcloud

Use application default credentials from gcloud core component. · GoogleCloudPlatform/DataflowJavaSDK@7a479f6 · GitHub

pipeline を実行する時に GCP Project の credential の取得方法から gcloud の指定をする方法が削除されています。これは機能がなくなったというより、Dataflow が gcloud の更新によって gcloud alpha の機能に組み込まれたみたいで、わざわざ指定しなくてもデフォルトの挙動になるようになったということみたいですね。試してないですけど。

Use PTransform more than once

Allows a PTransform to be used more than once · GoogleCloudPlatform/DataflowJavaSDK@4a4c23b · GitHub

pipeline の組み立て時に同じ PTransform を繰り返し別の箇所に使いまわしができるようにしているようです。元々 AppliedTransform というクラスが存在していて、pipeline のツリー構造のノードとしてはこれが使われていたようですが、DataflowPipelineTranslator.getCurrentTransform() でこの AppliedTransform を取得できるようにして、必要な箇所では元の PTransform ではなく AppliedTransform で扱うようにしているようです。Ruby で言うと Module と IClass の関係のようなものですね。

Cancel pipeline from CLI

Print the CLI command for cancelling jobs running in the cloud · GoogleCloudPlatform/DataflowJavaSDK@73d813c · GitHub

pipeline の実行時に gcloud によるジョブのキャンセルの方法をメッセージに出力するようにしています。 おお、コマンドラインからジョブのキャンセルってできたんですね(できるようになった?)。