Apache Beam 2.24.0

Apache Beam の新しい 2.24.0 リリースを発表できることを嬉しく思います。このリリースには、機能強化と新機能の両方が含まれています。このリリースのダウンロードページをご覧ください。

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

ハイライト

  • Apache Beam 2.24.0 は、Python 2 および Python 3.5 のサポートが提供される最後のリリースです。

I/O

  • ValueProvider をパラメータとして受け取る BigtableIO.Read.withKeyRange() および BigtableIO.Read.withRowFilter() メソッドの新しいオーバーロード (Java) (BEAM-10283)。
  • Dataflow バッチの WriteToBigQuery 変換 (Python) は、デフォルトでは BigQuerySink に依存しなくなりました。ファイルを読み込んで BigQuery にロードする新しい、フル機能の変換に依存します。動作を古い実装に戻すには、--experiments=use_legacy_bq_sink を使用できます。
  • Java の JdbcIO に対するクロス言語サポートを追加。Python モジュール apache_beam.io.jdbc で利用可能になりました (BEAM-10135, BEAM-10136)。
  • KinesisIO.Read (Java) に対する AWS SDK v2 のサポートを追加 (BEAM-9702)。
  • Java SDK で SnowflakeIO にストリーミングサポートを追加 (BEAM-9896)
  • Python SDK で Google Healthcare DICOM API への読み書きをサポート (BEAM-10601)
  • SnowflakeIO.write のためのディスポジションを追加 (BEAM-10343)
  • SnowflakeIO.Read に対するクロス言語サポートを追加。Python モジュール apache_beam.io.external.snowflake で利用可能になりました (BEAM-9897)。

新機能/改良点

  • 大規模な共有オブジェクトの管理を簡素化する共有ライブラリを Python SDK に追加。例として、スレッド間で大規模な TF モデルオブジェクトを共有することが挙げられます (BEAM-10417)。
  • バンドルの中間で早く設定された場合、Dataflow ストリーミングタイマーは厳密に時間順序付けされません (BEAM-8543)。
  • FnApiDoFnRunner で各要素/タイマーを処理する際に、OnTimerContext は新しいものを作成するべきではありません (BEAM-9839)
  • @OnTimer メソッドでキーを使用できるようにする (Spark Runner) (BEAM-9850)

破壊的変更

  • WriteToBigQuery 変換では、コンストラクタの custom_gcs_temp_location またはフォールバックオプション –temp_location を介して GCS の場所を提供するか、WriteToBigQuery に method="STREAMING_INSERTS" を渡す必要があります (BEAM-6928)。
  • Python SDK は、typing.FrozenSet 型ヒントを理解するようになりました。これは、typing.Set とは交換できません。型チェックが失敗した場合は、パイプラインを更新する必要がある場合があります。(BEAM-10197)

既知の問題

  • デフォルトの圧縮器の変更により、Dataflow Python ストリーミングジョブの更新互換性が損なわれます。ジョブの更新が重要な場合は、Python SDK バージョン <= 2.23.0 または > 2.25.0 を使用してください。(BEAM-11113)

コントリビューター一覧

git shortlog によると、以下の人々が 2.24.0 リリースに貢献しました。すべてのコントリビューターに感謝します!

adesormi, Ahmet Altay, Alex Amato, Alexey Romanenko, Andrew Pilloud, Ashwin Ramaswami, Borzoo, Boyuan Zhang, Brian Hulette, Brian M, Bu Sun Kim, Chamikara Jayalath, Colm O hEigeartaigh, Corvin Deboeser, Damian Gadomski, Damon Douglas, Daniel Oliveira, Dariusz Aniszewski, davidak09, David Cavazos, David Moravek, David Yan, dhodun, Doug Roeper, Emil Hessman, Emily Ye, Etienne Chauchot, Etta Rapp, Eugene Kirpichov, fuyuwei, Gleb Kanterov, Harrison Green, Heejong Lee, Henry Suryawirawan, InigoSJ, Ismaël Mejía, Israel Herraiz, Jacob Ferriero, Jan Lukavský, Jayendra, jfarr, jhnmora000, Jiadai Xia, JIahao wu, Jie Fan, Jiyong Jung, Julius Almeida, Kamil Gałuszka, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Knowles, Kevin Puthusseri, Kyle Weaver, Łukasz Gajowy, Luke Cwik, Mark-Zeng, Maximilian Michels, Michal Walenia, Niel Markwick, Ning Kang, Pablo Estrada, pawel.urbanowicz, Piotr Szuberski, Rafi Kamal, rarokni, Rehman Murad Ali, Reuben van Ammers, Reuven Lax, Ricardo Bordon, Robert Bradshaw, Robert Burke, Robin Qiu, Rui Wang, Saavan Nanavati, sabhyankar, Sam Rohde, Scott Lukas, Siddhartha Thota, Simone Primarosa, Sławomir Andrian, Steve Niemitz, Tobiasz Kędzierski, Tomo Suzuki, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, viktorjonsson, Xinyu Liu, Yichi Zhang, Yixing Zhang, yoshiki.obata, Yueyang Qiu, zijiesong