ブログ & リリース
2019/02/15
Apache Beam 2.10.0
Beam の新しい 2.10.0 リリースを発表できることを嬉しく思います。このリリースには、改善と新機能の両方が含まれています。このリリースのダウンロードページをご覧ください。
2.10.0 の変更点の詳細については、詳細なリリースノートをご確認ください。
ハイライト
依存関係のアップグレード/変更
- FlinkRunner: Flink 1.5.x/1.6.x/1.7.x
- Java: AutoValue 1.6.3
- Java: Jackson 2.9.8
- Java: google_cloud_bigdataoss 1.9.13
- Java: Apache Commons Codec: 1.10
- Python: avro>=1.8.1,<2.0.0; python_version < “3.0”
- Python: avro-python3>=1.8.1,<2.0.0; python_version >= “3.0”
- Python: bigdataoss_gcsio 1.9.12
- Python: dill>=0.2.9,<0.2.10
- Python: gcsio 1.9.13
- Python: google-cloud-pubsub 0.39.0
- Python: pytz>=2018.3
- Python: pyyaml>=3.12,<4.0.0
- MongoDbIO: mongo client 3.9.1
I/O
- Python SDK 用 ParquetIO
- HadoopOutputFormatIO: バッチ処理のサポートを追加
- HadoopOutputFormatIO: ストリーミングサポートを追加
- MongoDbIO: 射影を追加
- MongoDbIO: 自己署名SSLを使用するサーバーのサポートを追加
- MongoDbIO: 順序付きオプションを追加(エラーが発生した場合でもドキュメントを挿入)
- KafkaIO: 複数のトピックへの書き込みのサポートを追加
- KafkaIO: ProducerRecord による書き込みサポートを追加
- CassandraIO: データの削除機能を追加
- JdbcIO: JdbcIO.write() の Statement の ValueProvider サポートを追加し、テンプレート化できるようにする
新機能 / 改善
- FlinkRunner: Flink 設定ディレクトリをサポート
- FlinkRunner: マスターURLがIPv6アドレスをサポートするようになりました
- FlinkRunner: ポータブルランナーのセーブポイント/アップグレードサポート
- FlinkRunner: さまざまなFlinkバージョンに対してビルド可能
- FlinkRunner: ポータブルランナーでメトリクスをFlinkに送信
- Java: ベンダー提供のgRPCに移行(ユーザーgRPCとの競合なし、jarが小さくなります)
- Java: ベンダー提供のGuavaに移行(ユーザーGuavaとの競合なし、jarが小さくなります)
- SQL: サイド入力を使用して非バウンドソースをバウンドソースに結合するサポート(レフトジョインとライトジョインを区別しなくなりました)
- SQL: テーブルマクロのサポート
- スキーマ: Avroのサポート、自動スキーマ登録付き
- スキーマ: AutoValueクラスの自動スキーマ登録
バグ修正
- Watch PTransformを修正(FileIOに影響)
- FlinkRunner: GroupByKeyにnull値が含まれている場合に失敗しなくなりました(ストリーミングモードのみ)
- FlinkRunner: ステージングされるファイルを遅れて準備しなくなりました
- FlinkRunner: ランナーが決定したシャーディングで書き込みのシャード数を設定
- FlinkRunner: CheckpointMarksが承認されないようにするのを防ぎます
- スキーマ: POJO、Avro、およびJavaBeans用に生成された行オブジェクトは、ラップされたクラスがパッケージプライベートの場合に機能するはずです
- スキーマ: スキーマのネストされたコレクション型が、POJOへの変換時にNullPointerExceptionを引き起こさなくなりました
- BigQueryIO: quotaExceededエラーを適切に処理するようになりました
- BigQueryIO: 特定の非常に大きなロードジョブで正しくトリガーを処理するようになりました
- FileIOおよびその他のファイルベースのIO: Beam LocalFilesystemがWindowsのグロブパターンに一致するようになりました
- SQL: ジョインでタイムスタンプがウィンドウの最後に移動しなくなりました
- SQL: いくつかの推移的依存関係が欠落していました
- SQL: JDBCドライバーが他のJDBCソースとの相互作用を壊さなくなりました
- Windows Python 2 で pyarrow をサポート
非推奨
- HadoopInputFormatIO を非推奨
貢献者リスト
git shortlog によると、以下の人々が 2.10.0 リリースに貢献しました。すべての貢献者に感謝します!
Ahmet Altay, Alan Myrvold, Alex Amato, Alexey Romanenko, Anton Kedin, Rui Wang, Andrew Brampton Andrew Pilloud, Ankur Goenka, Antonio D’souza, Bingfeng Shu, Boyuan Zhang, brucearctor, Cade Markegard, Chaim Turkel, Chamikara Jayalath, Charles Chen, Colm O hEigeartaigh, Cory, Craig Chambers, Cristian, Daniel Mills, Daniel Oliveira, David Cavazos, David Hrbacek, David Moravek, Dawid Wysakowicz, djhworld, Dustin Rhodes, Etienne Chauchot, Fabien Rousseau, Garrett Jones, Gleb Kanterov, Heejong Lee, Ismaël Mejía, Jason Kuster, Jean-Baptiste Onofré, Jeff Klukas, Joar Wandborg, Jozef Vilcek, Kadir Cetinkaya, Kasia Kucharczyk, Kengo Seki, Kenneth Knowles, lcaggio, Lukasz Cwik, Łukasz Gajowy, Manu Zhang, marek.simunek, Mark Daoust, Mark Liu, Maximilian Michels, Melissa Pashniak, Michael Luckey, Mikhail Gryzykhin, mlotstein, morokosi, Niel Markwick, Pablo Estrada, Prem Kumar Karunakaran, Reuven Lax, robbe, Robbe Sneyders, Robert Bradshaw, Robert Burke, Ruoyun Huang, Ryan Williams, Sam Whittle, Scott Wegner, Slava Chernyak, Theodore Siu, Thomas Weise, Udi Meiri, vaclav.plajt@gmail.com, Valentyn Tymofieiev, Won Wook SONG, Wout Scheepers, Xinyu Liu, Yueyang Qiu, Zhuo Peng