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:master url 現在支援 IPv6 位址
  • FlinkRunner:可攜式執行器儲存點/升級支援
  • FlinkRunner:可以針對不同的 Flink 版本建置
  • FlinkRunner:在可攜式執行器中將指標傳送到 Flink
  • Java:移轉到供應商提供的 gRPC(與使用者 gRPC 無衝突,較小的 jar 檔案)
  • Java:移轉到供應商提供的 Guava(與使用者 Guava 無衝突,較小的 jar 檔案)
  • SQL:支援透過側邊輸入將無界限來源連接到有界限來源(不再對左連接和右連接敏感)
  • SQL:支援表格巨集
  • Schemas:支援 Avro,具有自動架構註冊
  • Schemas:AutoValue 類別的自動架構註冊

錯誤修正

  • 已修正 Watch PTransform(影響 FileIO)
  • FlinkRunner:如果 GroupByKey 包含空值(僅限串流模式)則不再失敗
  • FlinkRunner:不再太晚準備要分段的文件
  • FlinkRunner:為使用執行器決定分片的寫入設定分片數
  • FlinkRunner:防止 CheckpointMarks 未被確認
  • Schemas:如果包裝的類別是套件私有的,則針對 POJO、Avro 和 JavaBeans 產生的列物件應可運作
  • Schemas:架構中的巢狀集合類型在轉換為 POJO 時不再導致 NullPointerException
  • BigQueryIO:現在可以正確處理 quotaExceeded 錯誤
  • BigQueryIO:現在可以在某些非常大的載入工作中正確觸發
  • FileIO 和其他基於檔案的 I/O:Beam LocalFilesystem 現在會比對 Windows 中的 glob 模式
  • 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