Apache Beam 2.3.0

Beamの新しい2.3.0リリースを発表できることを嬉しく思います。このリリースには、複数の修正と新機能が含まれています。

詳細については、詳細なリリースノートをご確認ください。

新機能/改善点

BeamがJava 8に移行

BeamでサポートされるJavaのバージョンは、Java 8になりました。コードと例は、ラムダ、ストリーム、型推論の改善など、言語の複数の利点を使用するようにリファクタリングされました。

SparkランナーはSpark 2.xベースになりました

SparkランナーはSpark 2.x開発ラインに移行しました。これにより、パフォーマンスの向上と、Structured Streaming APIとの将来の互換性のための準備が可能になります。このリリースではSpark 1.xのサポートは終了しました。

Amazon Web Services S3ファイルシステムのサポート

Beamは既にHadoopFileSystemを介してAWS S3をサポートしていましたが、このバージョンではS3ファイルシステムのパフォーマンス上の利点に対応するネイティブ実装が提供されます。

汎用ファイル書き込み

このリリースには、FileIO.Sinkを使用してファイルに書き込むための汎用fluentでJava8フレンドリーなAPIを実装する新しい変換、FileIO.write()/ writeDynamic()が含まれています。このAPIは、Beam 2.2のDynamicDestinations APIと同様の機能を備えていますが、はるかに使いやすく拡張性があります。ファイルへの書き込み用のDynamicDestinations APIは、FileBasedSinkと同様に非推奨になりました。

Python SDKでの分割可能なDoFnのサポート

このリリースでは、Python SDKに分割可能なDoFn APIが追加され、PythonストリーミングDirectRunnerに分割可能なDoFnのサポートが追加されました。

移植性

Google Cloud Dataflow以外のランナーでPythonを実行し、任意のランナーでGo SDKを実行できるようにするための進捗が続いています。

その他の修正

SDK

  • MapElementsとFlatMapElementsは、新しいインターフェースContextful.Fnを使用してサイド入力の使用をサポートしています。ライブラリ作成者にとって、このインターフェースは、サイド入力を使用する可能性のあるユーザーコードコールバックに推奨される選択肢です。
  • さまざまなBeamエンティティの明示的表現と暗黙的表現の間を変換するためのReify変換ファミリを導入します。
  • データの近似スケッチのための2つの変換を導入します。Count-Min Sketch(近似要素頻度推定)とHyperLogLog(近似カーディナリティ推定)です。

ランナー

  • Dataflowのステージングファイルに進行状況が表示されるようになりました
  • Flinkランナーは、Flinkバージョン1.4.0に基づいています

IO

  • BigtableIOはValueProvider設定をサポートするようになりました
  • BigQueryIOは、パーティションデコレータを使用してテーブルに有界コレクションを書き込むことをサポートしています
  • KafkaIOはバージョン1.0に移行しました(バージョン> = 0.9.x.xと下位互換性があります)
  • VCFファイルのIOソースを追加しました(Python)
  • JdbcIO.write()のデッドロック時のバックオフのサポートと接続の改善を追加しました
  • KinesisIO.read()のパフォーマンスが向上しました
  • TikaIOの多くの改善

貢献者リスト

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

Ahmet Altay、Alan Myrvold、Alex Amato、Alexey Romanenko、Ankur Goenka、Anton Kedin、Arnaud Fournier、Asha Rostamianfar、Ben Chambers、Ben Sidhom、Bill Neubauer、Brian Foo、cclauss、Chamikara Jayalath、Charles Chen、Colm O hEigeartaigh、Daniel Oliveira、Dariusz Aniszewski、David Cavazos、David Sabater、David Sabater Dinter、Dawid Wysakowicz、Dmytro Ivanov、Etienne Chauchot、Eugene Kirpichov、Exprosed、Grzegorz Kołakowski、Henning Rohde、Holden Karau、Huygaa Batsaikhan、Ilya Figotin、Innocent Djiofack、Ismaël Mejía、Itamar Ostricher、Jacky、Jacob Marble、James Xu、Jean-Baptiste Onofré、Jeremie Lenfant-Engelmann、Kamil Szewczyk、Kenneth Knowles、Lukasz Cwik、Łukasz Gajowy、Luke Zhu、Mairbek Khadikov、María García Herrero、Marian Dvorsky、Mark Liu、melissa、Miles Saul、mingmxu、Motty Gruda、nerdynick、Neville Li、Nigel Kilmer、Pablo、Pawel Kaczmarczyk、Petr Shevtsov、Rafal Wojdyla、Raghu Angadi、Robert Bradshaw、Robert Burke、Romain Manni-Bucau、Ryan Niemocienski、Ryan Skraba、Sam Whittle、Scott Wegner、Shashank Prabhakara、Solomon Duskis、Thomas Groh、Thomas Weise、Udi Meiri、Valentyn Tymofieiev、wtanaka.com、XuMingmin、zhouhai02、Zohar Yahav、琨瑜。