Apache Beam 2.23.0

Apache Beam の新しいリリース 2.23.0 を発表いたします。このリリースには、機能の改善と新機能が含まれています。このリリースのダウンロードページをご覧ください。

2.23.0 の変更点の詳細については、詳細なリリースノートをご覧ください。

ハイライト

I/O

  • Snowflake からの読み取りのサポートを追加 (Java) (BEAM-9722)。
  • Splunk への書き込みのサポートを追加 (Java) (BEAM-8596)。
  • ロールの引き受けのサポートを追加 (Java) (BEAM-10335)。
  • BigQuery からデータを読み取るための新しい変換が追加されました: apache_beam.io.gcp.bigquery.ReadFromBigQuery。この変換は実験的なものです。BigQuery から Avro ファイルにデータをエクスポートし、それらのファイルを読み取ることでデータを読み取ります。また、JSON ファイルにエクスポートすることによるデータの読み取りもサポートしています。時間と日付関連のフィールドの動作にわずかな違いがあります。詳細は Pydoc をご覧ください。
  • SnowflakeIO.write に disposition を追加 (BEAM-10343)

新機能 / 改善点

  • Snowflake JDBC 依存関係を更新し、接続 URL に application=beam を追加 (BEAM-10383)。

破壊的変更

  • RowJson.RowJsonDeserializerJsonToRow、および PubsubJsonTableProvider は、JSON をデシリアライズする際にデフォルトで「暗黙的な null」を受け入れるようになりました (Java) (BEAM-10220)。以前は、null は {"foo": "bar", "baz": null} のように明示的な null 値でしか表現できず、{"foo": "bar"} のような暗黙的な null は例外を発生させていました。現在では、両方の JSON 文字列がデフォルトで同じ結果を生成します。この動作は RowJson.RowJsonDeserializer#withNullBehavior でオーバーライドできます。
  • Python の実験的な変換 GroupIntoBatches におけるバッチを実際にキーでグループ化するバグを修正しました。これにより、この変換の出力タイプが変更されます (BEAM-6696)。

非推奨

  • Gearpump ランナーを削除しました。 (BEAM-9999)
  • Apex ランナーを削除しました。 (BEAM-9999)
  • RedisIO.readAll() は非推奨となり、2 バージョン後に削除されます。ユーザーは代わりに RedisIO.readKeyPatterns() を使用する必要があります (BEAM-9747)。

既知の問題

貢献者一覧

git shortlog によると、以下の皆様が 2.23.0 リリースに貢献されました。すべての貢献者に感謝いたします!

(貢献者一覧は省略)