部落格 & 版本發佈
2020/05/27
Apache Beam 2.21.0
我們很高興推出 Beam 的新版本 2.21.0。此版本包含改進和新功能。請參閱下載頁面以取得此版本。
有關 2.21.0 中變更的更多資訊,請查看詳細版本說明。
I/O
- Python:已移除已棄用的模組
apache_beam.io.gcp.datastore.v1
,因為它使用的客戶端已過時且不支援 Python 3 (BEAM-9529)。請將您的程式碼遷移至使用 apache_beam.io.gcp.datastore.v1new。有關範例用法,請參閱更新的 datastore_wordcount。 - Python SDK:新增整合測試並更新 Google Cloud Spanner 轉換的批次寫入功能 (BEAM-8949)。
新功能/改進
Python SDK 現在會使用 Python 3 類型註釋作為管線類型提示。 (#10717)
如果您懷疑此功能導致您的管線失敗,在建立管線之前呼叫
apache_beam.typehints.disable_type_annotations()
將完全停用該功能,並使用@apache_beam.typehints.no_annotations
裝飾特定函式 (例如process()
) 將停用該函式的功能。更多詳細資訊可以在確保 Python 類型安全和 Python SDK 類型變更部落格文章中找到。
Java SDK:在 Beam Schema 中引入選項的概念。這些選項會為欄位和 schema 新增額外的內容。這會取代目前僅在 FieldType 中存在的 Beam metadata,選項在欄位和列 schema 中可用。Schema 選項是完全類型化的,可以包含複雜的列。備註:Schema 感知功能仍處於實驗階段。 (BEAM-9035)
Java SDK:protobuf 擴充功能完全支援 schema 感知,還包括 protobuf 選項轉換為 beam schema 選項。備註:Schema 感知功能仍處於實驗階段。 (BEAM-9044)
新增透過 Avro 檔案載入寫入 BigQuery 的功能 (Python) (BEAM-8841)
預設情況下,檔案載入將使用 JSON 完成,但可以指定 temp_file_format 參數以使用 AVRO 執行檔案匯出。基於 AVRO 的檔案載入透過將 Python 類型匯出到 Avro 類型來工作,因此要切換到基於 Avro 的載入,您需要將您的資料類型從與 Json 相容的類型 (字串類型日期和時間戳記,長數值作為字串) 變更為寫入 Avro 的 Python 原生類型 (Python 的日期、datetime 類型、小數等)。有關更多資訊,請參閱 https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#avro_conversions。
新增 Java SDK 與 Google Cloud AI VideoIntelligence 服務的整合 (BEAM-9147)
新增 Java SDK 與 Google Cloud AI 自然語言處理 API 的整合 (BEAM-9634)
引入了
docker-pull-licenses
標籤。當設定docker-pull-licenses
時,第三方依賴項的授權/通知將會新增到 docker 映像檔中。這些檔案會新增到/opt/apache/beam/third_party_licenses/
。預設情況下,不會將授權/通知新增到 docker 映像檔中。 (BEAM-9136)
重大變更
- Dataflow 執行器現在需要設定
--region
選項,除非在環境中設定了預設值 (BEAM-9199)。有關更多詳細資訊,請參閱此處。 - HBaseIO.ReadAll 現在需要 HBaseIO.Read 物件的 PCollection,而不是 HBaseQuery 物件 (BEAM-9279)。
- ProcessContext.updateWatermark 已被移除,改為使用 WatermarkEstimator (BEAM-9430)。
- 已停用 Row 物件的 PCollection 的 Coder 推論 (BEAM-9569)。
- Go SDK docker 映像檔在另行通知之前不再發佈。
棄用
- Java SDK:Beam Schema FieldType.getMetadata 現在已棄用,並由 Beam Schema 選項取代,它將在
2.23.0
版本中移除。 (BEAM-9704) - Dataflow 執行器的
--zone
選項現在已棄用。請改用--worker_zone
。 (BEAM-9716)
貢獻者清單
根據 git shortlog,以下人員為 2.21.0 版本做出了貢獻。感謝所有貢獻者!
Aaron Meihm、Adrian Eka、Ahmet Altay、AldairCoronel、Alex Van Boxel、Alexey Romanenko、Andrew Crites、Andrew Pilloud、Ankur Goenka、Badrul (Taki) Chowdhury、Bartok Jozsef、Boyuan Zhang、Brian Hulette、brucearctor、bumblebee-coming、Chad Dombrova、Chamikara Jayalath、Chie Hayashida、Chris Gorgolewski、Chuck Yang、Colm O hEigeartaigh、Curtis “Fjord” Hawthorne、Daniel Mills、Daniel Oliveira、David Yan、Elias Djurfeldt、Emiliano Capoccia、Etienne Chauchot、Fernando Diaz、Filipe Regadas、Gleb Kanterov、Hai Lu、Hannah Jiang、Harch Vardhan、Heejong Lee、Henry Suryawirawan、Hk-tang、Ismaël Mejía、Jacoby、Jan Lukavský、Jeroen Van Goey、jfarr、Jozef Vilcek、Kai Jiang、Kamil Wasilewski、Kenneth Knowles、KevinGG、Kyle Weaver、Kyoungha Min、Luke Cwik、Maximilian Michels、Michal Walenia、Ning Kang、Pablo Estrada、paul fisher、Piotr Szuberski、Reuven Lax、Robert Bradshaw、Robert Burke、Rose Nguyen、Rui Wang、Sam Rohde、Sam Whittle、Spoorti Kundargi、Steve Koonce、sunjincheng121、Ted Yun、Tesio、Thomas Weise、Tomo Suzuki、Udi Meiri、Valentyn Tymofieiev、Vasu Nori、Yichi Zhang、yoshiki.obata、Yueyang Qiu