App下載

Apache Beam 2.23.0 今日發(fā)布,更新了大數(shù)據(jù)批處理和流處理標(biāo)準(zhǔn)

猿友 2020-07-31 16:09:48 瀏覽數(shù) (2414)
反饋

簡(jiǎn)介

Apache Beam 2.23.0現(xiàn)已發(fā)布。Apache BeamGoogle 在 2016 年 2 月份貢獻(xiàn)給 Apache基金會(huì)的項(xiàng)目,主要目標(biāo)是統(tǒng)一批處理和流處理的編程范式,為無(wú)限、亂序、web-scale 的數(shù)據(jù)集處理提供簡(jiǎn)單靈活,功能豐富以及表達(dá)能力十分強(qiáng)大的 SDKApache Beam項(xiàng)目重點(diǎn)在于數(shù)據(jù)處理的編程范式和接口定義,并不涉及具體執(zhí)行引擎的實(shí)現(xiàn),Apache Beam 希望基于 Beam 開(kāi)發(fā)的數(shù)據(jù)處理程序可以執(zhí)行在任意的分布式計(jì)算引擎上。

主要更新內(nèi)容:

Highlights

  • Twister2 Runner(BEAM-7304)。

  • Python 3.8支持(BEAM-8494)。

I/Os

  • 添加了對(duì) Snowflake reading 的支持(Java)(BEAM-9722)。

  • 增加了對(duì)寫(xiě)入 Splunk 的支持(Java)(BEAM-8596)。

  • 添加了對(duì) assume role 的支持(Java)(BEAM-10335)。

  • 已添加一個(gè)新的可從 BigQuery 讀取的 transform:apache_beam.io.gcp.bigquery.ReadFromBigQuery。此 transform 是實(shí)驗(yàn)性的。它通過(guò)將數(shù)據(jù)導(dǎo)出到 Avro 文件并讀取這些文件來(lái)從 BigQuery 讀取數(shù)據(jù)。它還支持通過(guò)導(dǎo)出到 JSON 文件來(lái)讀取數(shù)據(jù)。與時(shí)間和日期相關(guān)的字段在行為上有很小的差異。

  • SnowflakeIO.write 添加 dispositions(BEAM-10343)

New Features/Improvements

更新 Snowflake JDBC 依賴(lài)關(guān)系,并將 application=beam 添加到 connection URL(BEAM-10383)。

Breaking Changes

  • 在反序列化 JSON(Java)時(shí),RowJson.RowJsonDeserializer、JsonToRowPubsubJsonTableProvider現(xiàn)在默認(rèn)接受“implicit nulls”。以前的 null 只能用 explicit null 值表示,例如 {"foo": "bar", "baz": null},而像{"foo": "bar"} 這樣的 implicit null 值則會(huì)引發(fā)異?!,F(xiàn)在,兩個(gè) JSON 字符串默認(rèn)都會(huì)產(chǎn)生相同的結(jié)果??梢允褂糜?code>RowJson.RowJsonDeserializer#withNullBehavior來(lái)覆蓋此行為。

  • 修復(fù) Python 中GroupIntoBatches實(shí)驗(yàn)轉(zhuǎn)換中的一個(gè)錯(cuò)誤,該錯(cuò)誤實(shí)際上是按鍵對(duì)批次進(jìn)行分組的。這將更改此轉(zhuǎn)換的輸出類(lèi)型(BEAM-6696)。

Deprecations

  • 刪除 Gearpump runner。(BEAM-9999)

  • 刪除 Apex 運(yùn)行程序。(BEAM-9999)

  • RedisIO.readAll() 已被棄用,將在 2 個(gè)版本中刪除,用戶(hù)必須使用 RedisIO.readKeyPatterns() 作為替代(BEAM-9747)。

文章參考來(lái)源:https://beam.apache.org/blog/beam-2.23.0/

0 人點(diǎn)贊