Apache Beam 2.33.0

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

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

ハイライト

  • Go SDKは実験段階ではなくなり、正式にBeamリリースプロセスの一部になりました。
    • 対応するGo SDKコンテナがリリース時に公開されます。
    • バッチ使用は十分にサポートされており、Flink、Spark、およびPython Portable Runnerでテストされています。
      • SDKテストもGoogle Cloud Dataflowに対して実行されますが、これは相互サポートを示すものではありません。
    • SDKは、Splittable DoFns、クロス言語変換、およびほとんどのBeamモデルの基本をサポートしています。
    • 依存関係管理にはGo Modulesが使用されるようになりました。
      • これは破壊的変更です。「破壊的変更」セクションで解決策を確認してください。
      • Go SDKへの貢献が容易になり、GO_PATHを設定する必要がなくなりました。
      • 最小GoバージョンはGo v1.16になりました。
    • 公開されたら、発表ブログ投稿で完全な情報を確認してください。

新機能/改善

  • SchemaIOにおけるプロジェクションプッシュダウン (BEAM-12609).
  • FlinkランナーのFlinkバージョン1.13.2、1.12.5、および1.11.4へのアップグレード (BEAM-10955).

破壊的変更

  • 2.30.0リリース以降、「BEAM-2303のAvroCoderの変更により、Avro ReflectDatum*クラスからSpecificDatum*クラスへのリーダー/ライターが変更されました」(Java)。このデフォルト動作の変更は、このリリースで元に戻されました。useReflectApi設定を使用して制御します (BEAM-12628).

非推奨

  • Beam 2.34では、Python GBKは、グローバルウィンドウとデフォルトトリガーを持つ無制限のPCollectionのサポートを停止します。これは、--allow_unsafe_triggersでオーバーライドできます。(BEAM-9487).
  • Beam 2.34以降、Python GBKは、安全なトリガーまたは--allow_unsafe_triggersフラグを必要とするようになります。(BEAM-9487).

バグ修正

  • BigQueryテーブルから読み取り、TableRowをBeam Rowに変換する際のUnsupportedOperationException (Java) (BEAM-12479).
  • SDFBoundedSourceReaderは、BoundedSourceの元の動作と比べてはるかに低速です (Python) (BEAM-12781).
  • SELECTにないORDER BY列がクラッシュする (ZetaSQL) (BEAM-12759).

既知の問題

  • Beamが依存関係を更新したため、Spark 2.xユーザーはSparkのJacksonランタイム依存関係(spark.jackson.version)をバージョン2.9.2以上に更新する必要があります。
  • このバージョンに影響を与える未解決の問題の完全なリストを参照してください。
  • Go SDKジョブは、ジョブの実行が成功した後、「MonitoringInfoからステップを推測できませんでした」というメッセージを生成することがあります。このメッセージは良性であり、ジョブの失敗を示すものではありません。これは、PCollectionメトリクスをまだ処理していないことが原因です。
  • FILE_LOADSメソッドを使用した大規模なJava BigQueryIO書き込みは、バッチモードで失敗します(具体的には、コピージョブが使用されている場合)。これにより、「IllegalArgumentException: 未知のサイド入力へのアクセスを試行しています」というエラーメッセージが表示されます。新しいバージョン(> 2.34.0)にアップグレードするか、別の書き込みメソッド(例:STORAGE_WRITE_API)を使用してください。

貢献者一覧

git shortlogによると、以下の人々が2.33.0リリースに貢献しました。すべての貢献者に感謝します!

Ahmet Altay, Alex Amato, Alexey Romanenko, Andreas Bergmeier, Andres Rodriguez, Andrew Pilloud, Andy Xu, Ankur Goenka, anthonyqzhu, Benjamin Gonzalez, Bhupinder Sindhwani, Chamikara Jayalath, Claire McGinty, Daniel Mateus Pires, Daniel Oliveira, David Huntsperger, Dylan Hercher, emily, Emily Ye, Etienne Chauchot, Eugene Nikolaiev, Heejong Lee, iindyk, Iñigo San Jose Visiers, Ismaël Mejía, Jack McCluskey, Jan Lukavský, Jeff Ruane, Jeremy Lewi, KevinGG, Ke Wu, Kyle Weaver, lostluck, Luke Cwik, Marwan Tammam, masahitojp, Mehdi Drissi, Minbo Bae, Ning Kang, Pablo Estrada, Pascal Gillet, Pawas Chhokra, Reuven Lax, Ritesh Ghorse, Robert Bradshaw, Robert Burke, Rodrigo Benenson, Ryan Thompson, Saksham Gupta, Sam Rohde, Sam Whittle, Sayat, Sayat Satybaldiyev, Siyuan Chen, Slava Chernyak, Steve Niemitz, Steven Niemitz, tvalentyn, Tyson Hamilton, Udi Meiri, vachan-shetty, Venkatramani Rajgopal, Yichi Zhang, zhoufek