ブログ & リリース
2020/10/23
Apache Beam 2.25.0
Apache Beamの新しい2.25.0リリースを発表できることを嬉しく思います。このリリースには、機能強化と新機能の両方が含まれています。このリリースのダウンロードページをご覧ください。
2.25.0の変更の詳細については、詳細なリリースノートをご覧ください。
ハイライト
- Javaベースのランナー(Direct、Flink、Jet、Samza、Twister2)でRead変換を実行するためのSplittable DoFnがデフォルトになりました。Read変換の期待される出力は変更されていません。
--experiments=use_deprecated_read
を使用してオプトアウトできます。Apache Beamコミュニティは、この変更をオプトアウトなしで恒久的に行うことを計画しているため、この変更に関するフィードバックを求めています。オプトアウトが必要な問題が発生した場合は、件名にBEAM-10670を明記し、オプトアウトが必要だった理由を記載してuser@beam.apache.orgにメールを送信してください。(Java)(BEAM-10670)
I/O
- JavaのKinesisIOにクロス言語サポートを追加しました。現在はPythonモジュール
apache_beam.io.kinesis
で使用できます(BEAM-10138、BEAM-10137)。 - SnowflakeIOのSnowflake JDBC依存関係を更新しました(BEAM-10864)
- JavaのSnowflakeIO.Writeにクロス言語サポートを追加しました。現在はPythonモジュール
apache_beam.io.snowflake
で使用できます(BEAM-9898)。 - Javaの
ElasticsearchIO#Write
に削除機能を追加しました。これで、JavaのElasticsearchIOを使用して、withIsDeleteFn
関数を使用してドキュメントを選択的に削除できるようになりました(BEAM-5757)。 - Java SDK:InfluxDB用の新しいIOコネクタInfluxDbIOを追加しました(BEAM-2546)。
新機能/改良点
ReadFromBigQuery
に追加されたJSONデコーダーの繰り返し可能なフィールドのサポート。(Python)(BEAM-10524)- Python SDKにオプトイン型の、パフォーマンス重視のランタイム型チェックシステムを追加しました(BEAM-10549)。詳細は今後のブログ投稿で紹介します。
- 型付きPCollectionを使用したPTransformへのPython 3型アノテーションのサポートを追加しました(BEAM-10258)。詳細は今後のブログ投稿で紹介します。
- ストリーミングジョブの記録が、長時間実行されるバックグラウンド記録ジョブを開始するようになりました。ib.show()またはib.collect()を実行すると、記録からサンプルが取得されます(BEAM-10603)。
- Interactive Beamでは、ib.show()とib.collect()に「n」と「duration」というパラメータが追加されました。これらは、記録から読み取るデータの最大要素数「n」と最大秒数「duration」を意味します(BEAM-10603)。
- Dataframesサポートの最初のプレビュー。apache_beam/examples/wordcount_dataframe.pyの例も参照してください。
- Python SDKの
@ptransform_fn
デコレータの型ヒントのサポートを修正しました(BEAM-4091)。下位互換性を維持するために、デフォルトでは有効になっていません。有効にするには、--type_check_additional=ptransform_fn
フラグを使用してください。今後のBeamのバージョンでは、デフォルトで有効になる可能性があります。
破壊的変更
- Python 2とPython 3.5のサポートを終了しました(BEAM-10644、BEAM-9372)。
- Pandas 1.xが許可されました。古いバージョンのPandasも使用できますが、テストはそれほど徹底されていない可能性があります。
非推奨
- Python変換ReadFromSnowflakeは、
apache_beam.io.external.snowflake
からapache_beam.io.snowflake
に移動されました。以前のパスは、将来のバージョンで削除されます。
既知の問題
- BEAM-8543の修正によりより深刻なバグが発生したため、修正がロールバックされました。そのため、Dataflowストリーミングタイマーは、バンドルの中間で早期に設定された場合、再び厳密に時間順序でなくなる可能性があります。
- デフォルトの圧縮方法の変更により、Dataflow Pythonストリーミングジョブの更新の互換性が損なわれます。ジョブの更新が重要な場合は、Python SDKバージョン<= 2.23.0または> 2.25.0を使用してください(BEAM-11113)。
コントリビューター一覧
git shortlogによると、以下の人々が2.25.0リリースに貢献しました。すべてのコントリビューターに感謝します!
Ahmet Altay, Alan Myrvold, Aldair Coronel Ruiz, Alexey Romanenko, Andrew Pilloud, Ankur Goenka, Ayoub ENNASSIRI, Bipin Upadhyaya, Boyuan Zhang, Brian Hulette, Brian Michalski, Chad Dombrova, Chamikara Jayalath, Damon Douglas, Daniel Oliveira, David Cavazos, David Janicek, Doug Roeper, Eric Roshan-Eisner, Etta Rapp, Eugene Kirpichov, Filipe Regadas, Heejong Lee, Ihor Indyk, Irvi Firqotul Aini, Ismaël Mejía, Jan Lukavský, Jayendra, Jiadai Xia, Jithin Sukumar, Jozsef Bartok, Kamil Gałuszka, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Jung, Kenneth Knowles, Kevin Puthusseri, Kevin Sijo Puthusseri, KevinGG, Kyle Weaver, Leiyi Zhang, Lourens Naudé, Luke Cwik, Matthew Ouyang, Maximilian Michels, Michal Walenia, Milan Cermak, Monica Song, Nelson Osacky, Neville Li, Ning Kang, Pablo Estrada, Piotr Szuberski, Qihang, Rehman, Reuven Lax, Robert Bradshaw, Robert Burke, Rui Wang, Saavan Nanavati, Sam Bourne, Sam Rohde, Sam Whittle, Sergiy Kolesnikov, Sindy Li, Siyuan Chen, Steve Niemitz, Terry Xian, Thomas Weise, Tobiasz Kędzierski, Truc Le, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, Yichi Zhang, Yifan Mai, Yueyang Qiu, annaqin418, danielxjd, dennis, dp, fuyuwei, lostluck, nehsyc, odeshpande, odidev, pulasthi, purbanow, rworley-monster, sclukas77, terryxian78, tvalentyn, yoshiki.obata