ブログ & リリース
2021/11/11
Apache Beam 2.34.0
Beamの新しい2.34.0リリースを発表できることを嬉しく思います。このリリースには、機能強化と新機能の両方が含まれています。このリリースのダウンロードページをご覧ください。
2.34.0での変更の詳細については、詳細なリリースノートをご覧ください。
ハイライト
- Calcite SqlTransform用のBeam Java APIは、実験的ではなくなりました(BEAM-12680)。
- PythonのParDo(Map、FlatMapなど)変換は、不良レコードを簡単に無視し、デッドレターパターンを実装するための
with_exception_handling
オプションをサポートするようになりました。
I/O
ReadFromBigQuery
とReadAllFromBigQuery
は、デフォルトでBATCH優先順位でクエリを実行するようになりました。クエリ優先順位を設定するために、同じ変換にquery_priority
パラメータが導入されました(Python)(BEAM-12913)。- [実験的] BigQuery Storage Read APIのサポートが
ReadFromBigQuery
に追加されました。新しく導入されたmethod
パラメータをDIRECT_READ
に設定して、Storage Read APIを使用できます。デフォルトはEXPORT
で、BigQueryエクスポートリクエストを呼び出します。(Python)(BEAM-10917)。 - [実験的]
ReadFromBigQuery
を使用する場合のDATETIMEフィールドの戻り値の型を設定するために、ReadFromBigQuery
にuse_native_datetime
パラメータを追加しました。このパラメータは、method = DIRECT_READ
の場合にのみ使用できます(Python)(BEAM-10917)。
新機能/改善点
- Calcite 1.26.0へのアップグレード(BEAM-9379)。
- 互換性が検証されたpandasのバージョンを追跡するPython SDKに新しい
dataframe
エクストラを追加しました。DataFrame APIを使用する場合は、pip install apache-beam[dataframe]
を使用してBeamをインストールすることをお勧めします(BEAM-12906)。 - SparkクラスタでPython Apache Beamジョブをデプロイする例を追加しました。
破壊的変更
- SQL行はフラット化されなくなりました(BEAM-5505)。
- [Go SDK] beam.TryCrossLanguageのシグネチャは、beam.CrossLanguageと一致するようになりました。他のTry関数と同様に、パニックする代わりにエラーを返します。(BEAM-9918)。
- BEAM-12925が修正されました。以前は、JdbcIOから読み取られた不正なnullデータを黙って渡していました。これの影響を受けるパイプラインは、不正なデータを黙って渡すのではなく、エラーをスローするようになります。
バグ修正
- 複数のDeferredFrameをcsvに書き込む際のエラーを修正しました(Python)(BEAM-12701)。
- pandas 1.0.xがインストールされている状態でDataFrame APIをインポートする際のエラーを修正しました(BEAM-12945)。
- Go SDKのtop.SmallestPerKey実装を修正しました(BEAM-12946)。
既知の問題
- FILE_LOADSメソッドを使用した大規模なJava BigQueryIO書き込みは、バッチモード(具体的にはコピージョブを使用する場合)で失敗します。これにより、
IllegalArgumentException: Attempting to access unknown side input
というエラーメッセージが表示されます。新しいバージョン(> 2.34.0)にアップグレードするか、別の書き込みメソッド(例:STORAGE_WRITE_API
)を使用してください。
貢献者一覧
git shortlogによると、以下の人々が2.34.0リリースに貢献しました。すべての貢献者に感謝します!
Ahmet Altay, Aizhamal Nurmamat kyzy, Alex Amato, Alexander Chermenin, Alexey Romanenko, AlikRodriguez, Andrew Pilloud, Andy Xu, Ankur Goenka, Aydar Farrakhov, Aydar Zainutdinov, Aydar Zaynutdinov, AydarZaynutdinov, Benjamin Gonzalez, BenWhitehead, Brachi Packter, Brian Hulette, Bu Sun Kim, Chamikara Jayalath, Chris Gray, Chuck Yang, Chun Yang, Claire McGinty, comet, Daniel Collins, Daniel Oliveira, Daniel Thevessen, daria.malkova, David Cavazos, David Huntsperger, Dmytro Kozhevin, dpcollins-google, Eduardo Sánchez López, Elias Djurfeldt, emily, Emily Ye, Enis Sert, Etienne Chauchot, Fernando Morales, Heejong Lee, Ihor Indyk, Ismaël Mejía, Israel Herraiz, Jack McCluskey, Jonathan Hourany, Judah Rand, Kenneth Knowles, KevinGG, Ke Wu, kileys, Kyle Weaver, Luke Cwik, masahitojp, MiguelAnzoWizeline, Minbo Bae, Niels Basjes, Ning Kang, Pablo Estrada, pareshsarafmdb, Paul Féraud, Piotr Szczepanik, Reuven Lax, Ritesh Ghorse, R. Miles McCain, Robert Bradshaw, Robert Burke, Rogan Morrow, Ruwan Lambrichts, rvballada, Ryan Thompson, Sam Rohde, Sam Whittle, Ștefan Istrate, Steve Niemitz, Thomas Li Fredriksen, Tomo Suzuki, tvalentyn, Udi Meiri, Vachan, Valentyn Tymofieiev, Vincent Marquez, WinsonT, Yichi Zhang, Yifan Mai, Yilei “Dolee” Yang, zhoufek