近年來,隨著實時化需求的場景日益增多,企業已不滿足於簡單使用流計算或批計算進行數據處理,採用一套引擎即可實現低延遲、高吞吐、高穩定的強大性能逐漸成為更多企業的追求。Apache Flink 作為領先的開源大數據計算引擎,在流批一體的探索上日臻成熟,並在穩定性、性能和效率方面都經受住了阿里巴巴雙11的嚴苛生產環境考驗。
如今,除電商行業外,Flink 流批一體的應用幾何?在降本增效的需求驅動下,企業如何實現數據與算力價值最大化?
12月13日-15日,Flink Forward Asia 2020 在線峰會,來自字節跳動、騰訊、快手、微博、Bigo、網易遊戲、知乎、愛奇藝、小米、京東、汽車之家、貝殼找房、58同城、好未來、360、網易雲音樂、有贊、螞蟻集團、天貓等 19 家各行業的先行者們分享優秀的技術實踐案例,及其實用、可落地的技術應用開發經驗。
▼ 掃碼瞭解完整大會議程 ▼
(大會官網)
本文節選 Flink Forward Asia 2020 在線峰會行業實踐專場主題分享,並詳細介紹各主題內容供大家參考,更多大會議程請點擊「閱讀原文」~
快手基於 Apache Flink 的持續優化實踐
董亭亭 | 快手實時計算負責人
本次議題主要介紹快手基於 Apache Flink 在穩定性、可用性及 SQL 引擎方面進行的持續優化與實踐。重點包括三部分:
- 穩定性優化。各類單點故障造成的作業重啟,優化故障發現、作業重啟過程,進一步縮短作業恢復時間。
- 作業啟動優化。優化作業啟動流程,進一步縮短作業升級啟動時間。
- Flink SQL 優化。在 Flink SQL 應用過程的問題做進一步優化,包括優化 udf 重複執行,優化 groupby bounded 場景下數據傾斜問題。
Bigo 實時計算平臺建設實踐
徐帥 | Apache Flink Contributor,Bigo計算平臺負責人
主要介紹 Bigo 實時計算平臺的建設及為支持業務場景所做擴展及優化。分為幾個小節:
- 介紹 Bigo 實時計算平臺的發展過程及現狀。
- 介紹在 Flink 上做的優化及一些自己的特色。包括跟 Pulsar,ClickHouse 等生態的結合。
- 介紹典型的業務場景。重點介紹視頻、直播等 App 打點數據要通過 Flink 進行實時 ETL 之後落到 Hive 裡。在此過程中我們解決了打點數據的自動化接入、自動切分,不同 topic 相互隔離,端到端 Exactly once,根據 Event time 來保證 Hive partition 寫完整並創建 meta 等問題。
- 介紹 Flink 對業務帶來的效率上的提升。APP 上的功能每天都在進行 ABTest,傳統走批處理的方法計算資源消耗多,而且時效性太差。通過將原先批處理的鏈路改造為用 Flink 做實時的計算,實現了流批一體,大大的提高了 ABTest 的效率,並且節省了資源。
Flink 實時計算在微博的應用
曹富強 | 微博機器學習研發中心數據計算負責人,高級系統工程師
- 基於 Flink 搭建的微博實時計算平臺
- 微博實時數倉的搭建和應用
- Flink 在機器學習的應用及平臺化
- 批流一體 Flink SQL
騰訊遊戲實時計算應用平臺建設實踐
許振文 | 騰訊遊戲增值服務部數據中心後臺開發組組長
現在網絡遊戲市場規模已經達到數百億美元的量級,在大數據和微服務技術的浪潮中,如何通過數據化營銷來優化遊戲運營?
本議題將介紹針對這一應用趨勢而構建的騰訊遊戲數據營銷服務開發平臺,講述如何將大數據和微服務進行合理的拆分,以及通過對這些能力合理有效的組織和架構來為遊戲業務提供多樣化的數據營銷服務。在內部如何根據遊戲業務數據化運營場景實踐落地大規模的 Flink、Kafka、ServiceMesh 等技術。
為大家揭示迄今為止數據與遊戲結合的豐富技術落地場景,以及遊戲領域數據技術基礎設施和技術平臺架構,並與大家探討未來數據技術與遊戲結合的更多可能性。
知乎的 Flink 數據集成平臺建設實踐
孫曉光 | 知乎技術平臺負責人
知乎基於 Sqoop 搭建了自己的離線數據集成平臺,在過往的使用過程中受限於 Sqoop 架構的限制和社區不夠活躍的狀態,許多平臺能力和體驗的改進難以實現。Flink 作為新一代的分佈式計算引擎,擁有非常積極活躍的用戶社區和開發者生態。Flink 豐富成熟的數據源支持和靈活的開發能力是知乎下一代數據集成平臺的理想基座。
本次主題將分享知乎以 Flink 為基礎打造的通用數據集成平臺,打通知乎內部各項數據資產。
基於 Flink 和 LogMiner 的 Oracle CDC 實踐
崔星燦 | Apache Flink Committer,Wealthsimple 軟件工程師
作為一家金融科技公司,Wealthsimple 長期依賴 Oracle General Ledger 存儲用戶交易等賬目數據。為了支持賬戶餘額及金融產品持倉等相關業務,賬簿團隊需要從 Oracle 中持續導出最新入賬數據進行核算。
現有基於 SQL 輪詢的數據獲取方式存在著延遲較高、無法檢測數據更新等弊端,為此團隊決定採用 Change Data Capture(CDC)替換當前方案。實踐過程中,我們藉助 Oracle LogMiner 和 Flashback Query 實現了基本的數據捕獲邏輯,並將其嵌入到 Flink Source Connector 中。同時,為了保證端到端的精確一次語義,我們基於 XA Transaction 完成了一個支持兩階段提交的 Flink JDBC Sink Connector。
本次演講內容將會涵蓋使用 LogMiner 和 Flink 捕獲 Oracle 數據改動的基礎知識,以及團隊在上述項目初期的探索與思考。
Flink SQL 在雲音樂的產品化實踐
蔣文偉 | 杭州網易雲音樂數據智能部資深數據平臺開發工程師
SQL 作為優秀的數據處理語言被廣泛使用,但原生的 Flink SQL 在實際使用過程中往往會遇到無法滿足業務的情況,本次主題將介紹雲音樂為解決這些問題而進行的工作。主要分享內容為:
- 功能擴展與封裝,建立了支持模塊化與組件化的 Notebook 開發環境。
- 性能調優,解決業務實際場景中遇到的讀寫方面瓶頸。
- 強化運維監控,建立自己的智能診斷體系。
- 分享內部案例。
Apache Flink 在京東的實踐與優化
付海濤 | 京東高級技術專家
京東於2018-開始基於 Flink+K8s 深入打造高性能、穩定、可靠、易用的實時計算平臺,支撐了京東內部多條業務線平穩度過618、雙11多次大促。
本次講演將分享京東 Flink 在實踐過程中遇到的問題、挑戰和解決方案,對社區版 Flink 所做的定製和優化,以及未來的展望和規劃。
Flink 在有讚的實踐和應用
沈磊 | Apache Flink Contributor,有贊數據研發
本次分享主要講解有贊 Flink 基於 K8S 容器化改造的實踐化經驗。在 Flink SQL 方面,也會分享在 Flink SQL 的實踐,如高可用 HBase、無密 MySQL Connector 實踐,Flink SQL 與 ClickHouse 集成,以及支持 checkpoint 作為狀態恢復等。
最後會分享 Flink Jar 和 SQL 任務血緣元數據自動化採集經驗分享,通過任務元數據信息,幫助業務方更好的管理和維護自己的實時任務。
Flink 在58同城應用與實踐
馮海濤 | 58同城大數據部門架構師,實時計算平臺負責人
- 58實時計算平臺簡介
- Flink 在58的業務實踐
- 平臺化建設
- 未來規劃
基於 Flink 的 PB 級數據即席查詢實踐
**蘇軍 | 360政企安全集團大數據開發工程師
劉佳 | 360政企安全集團大數據開發工程師**
為滿足私有云部署下,使用有限資源對 PB 級機器數據進行秒級即席查詢,進行安全分析的需求,360 本地安全大腦利用機器數據的高度重複性、查詢的規律性、以及命中數據比例低的特點,設計並實現了“Blink + ORC 文件存儲 + 文件索引”的查詢方案。
方案通過索引機制,把只佔原始 ORC 文件大小的 1/100,000 的 ORC 各種有效的統計信息(min/max、字典表、bloom filter)持久化進外部數據庫,並引入Space Filling Curve算法對多列數據進行排序來提升多列數據的有序性,大幅度減少需要進入 Blink 的 ORC 數據規模,同時在 Blink SQL 中進行對 ORC 的查詢優化。
好未來批流融合實時平臺在教育行業的實踐
毛祥溢 | 好未來資深數據平臺工程師
- 好未來實時數據分析現狀
- 好未來實時續報數倉建設
- 好未來實時數據分析平臺
- 展望與規劃
網易遊戲基於 Flink 的流式 ETL 建設
林小鉑 | Apache Flink Contributor,網易遊戲資深開發工程師
流式 ETL 是實時計算中最為基礎的應用,而在網易遊戲,由於遊戲業務迭代快導致數據 Schema 變更頻繁,所以將複雜的計算延後到數據倉庫計算的 ELT 是更為常用的模式。建設流式 ELT 主要的挑戰是讓用戶無感知地平滑遷移到流式 ELT,其中包括 Python UDF、HDFS 寫入優化及異常處理實踐。
網易遊戲大數據平臺建設的早期建立了基於 Hadoop Streaming + Python 腳本的離線 ELT 框架,因此在 2018 -建立基於 Flink 的流式 ELT 時首要任務是提供 Python UDF,綜合考慮後實現了一套基於 Jython 的 Python UDF 框架。
流式 ELT 的瓶頸通常在 HDFS,因此流式 ELT 主要從兩個途徑優化 HDFS 寫入:一是通過數據流分區令每個 sink subtask 接收儘量少的分區的數據,從而減少打開的文件數;二是通過以每個數據分區只打開一個文件並不斷 append 的形式來寫入,來減少文件總數和 RPC 數(需配合每次 checkpoint 時同步文件長度機制和取消文件前綴,有分鐘級別的髒讀風險)。在異常處理方面,提供基於 SideOutput 的錯誤流來分類保存不同的錯誤碼的數據(比如遲到事件或 UDF 異常),另外使用基於 State 的 Accumulator 來記錄消息的流向,並採集到 ELK 做可視化監控。
Flink 在小米的平臺化實踐
王加勝 | 小米高級軟件工程師
從2019年開始接入,Flink 在小米支撐了越來越多的業務,包括信息流推薦、商業廣告、小米金融等重要業務,目前運行作業數已經達到上千個,極大地推動了計算的實時化,提升了數據的價值。隨著應用規模的擴大,我們也遇到了越來越多的挑戰和問題,包括穩定性、易用性、運維支持方面等等。
本次分享主要從如下幾個方面進行了介紹,包括 Flink SQL 平臺化的思考與實踐、遇到的業務穩定性問題以及解決思路、以及我們在提升問題排查和業務支持效率等方面做的工作。
愛奇藝實時大數據生態體系的演進
葉煒晨 | 愛奇藝技術經理,實時大數據相關業務負責人
近年來,隨著信息流推薦、在線效果廣告、實時報表和實時運營等新業務場景的出現,實時大數據成了大數據領域最重要的發展方向之一。
本次分享介紹了愛奇藝大數據團隊在基於 Flink 的實時數據生產分發、實時數倉建設、流數據服務、流批一體等領域的實踐和演進過程,以及相關的一些體系化思考。
Flink 在螞蟻搜索千級業務場景中的應用實踐
李巖 | 螞蟻集團搜索數據技術團隊高級技術專家
在螞蟻集團我們服務著支付、數金、保險以及廣告等多元化搜索場景,為滿足不同場景在數據量、複雜度以及延遲性等指標上差異化需求,我們以 Flink 為核心構建了一套搜索數據增全量一體化處理平臺。本次分享主要介紹平臺建設的應用實踐以及關鍵技術點,具體如下:
- 平臺背景與技術挑戰
- 支持中間態共享的增全量一體化架構
- 全量計算裁剪技術
- 多業務資源共享實現
- 動態長度窗口算子
- 大比例擴散場景應對
字節跳動基於 Flink 的 MQ-Hive 實時數據集成
李暢 | 字節跳動數據平臺大數據高級工程師
- 數據集成的挑戰
- 現有解決方案及痛點
- 基於 Flink 的 MQ-Hive 解決方案
- 未來展望
Flink 實時計算在小紅書幾個場景的應用
欒豔明 | 小紅書實時數據平臺工程師
分享小紅書在推薦算法、實時數倉、風控、數據同步等場景遇到的問題和解決辦法,在此過程中我們迭代出一個可用的 SQL 平臺,拆解該平臺是如何服務公司內其他用戶迭代業務的以及後續我們面臨的挑戰。
貝殼的實時計算演進之路
劉力雲 | 貝殼找房大數據平臺實時計算負責人
主要介紹貝殼實時計算平臺的構建、實時數倉的落地,以及面向事件驅動場景的通用平臺建設。貝殼實時計算緊跟業界發展,為公司各業務線的實時計算相關各種場景提供了有力的支持。
- 實時計算平臺建設:為滿足公司各種業務方實時計算的需求, 我們構建了功能完善的實時計算平臺 Hermes。平臺支持模板任務、場景任務以及自定義任務的開發,提供了完善的管理和監控,保障了任務的穩定、高效運行。
- 實時數倉落地:隨著實時計算平臺功能的不斷完善,使得實時數倉建設成為了可能。我們構建了完善的開發規範,提供了豐富的實時數據模型及構建能力,目前已經應用公司的各種實時指標、實時大屏等業務場景。
- 實時事件處理平臺建設:為了滿足業務方對線上用戶行為的實時響應的需求,基於流計算的 Pandora 事件處理平臺應運而生。平臺將用戶行為標準化,提供了事件定義和管理、功能完善的規則引擎、靈活方便的動作觸發等能力,簡化了業務開發流程,滿足了業務方對用戶行為實時響應的需求。
- 未來發展方向:貝殼的未來實時計算會緊跟社區發展潮流,繼續做好實時計算相關基礎能力的建設,在流批一體化、事件驅動等方向繼續努力。
以上為 Flink Forward Asia 2020 在線峰會行業實踐節選,瞭解更多大會詳情及大會預約可點擊「閱讀原文」。12月13日,全球 38+ 一線廠商,70+ 優質議題,我們在 Flink Forward Asia 在線峰會等你~
▼ FFA 2020 交流群 ▼
大會實時提問及嘉賓分享PPT都將在交流群公佈~