首頁>Club>
13
回覆列表
  • 1 # 薩利文

    Apache Flink 是一個開源的分散式,高效能,高可用,準確的流處理框架。支援實時流處理和批處理。

    flink特性:

    支援批處理和資料流程式處理

    優雅流暢的支援java和scala api

    同時支援高吞吐量和低延遲

    支援事件處理和無序處理透過SataStream API,基於DataFlow資料流模型

    在不同的時間語義(時間時間,處理時間)下支援靈活的視窗(時間,技術,會話,自定義觸發器)

    僅處理一次的容錯擔保

    自動反壓機制

    圖處理(批) 機器學習(批) 複雜事件處理(流)

    在dataSet(批處理)API中內建支援迭代程式(BSP)

    高效的自定義記憶體管理,和健壯的切換能力在in-memory和out-of-core中

    相容hadoop的mapreduce和storm

    整合YARN,HDFS,Hbase 和其它hadoop生態系統的元件

    flink的應用場景:

    最佳化電子商務的實時搜尋結果:阿里巴巴的所有基礎設施團隊使用flink實時更新產品細節和庫存資訊,為使用者提供更高的關聯性。

    針對資料分析團隊提供實時流處理服務:king透過flink-powered資料分析平臺提供實時資料分析,從遊戲資料中大幅縮短了觀察時間

    網路/感測器檢測和錯誤檢測:Bouygues電信公司,是法國最大的電信供應商之一,使用flin監控其有線和無線網路,實現快速故障響應。

    商業智慧分析ETL:Zalando使用flink轉換資料以便於載入到資料倉庫,將複雜的轉換操作轉化為相對簡單的並確保分析終端使用者可以更快的訪問資料。

    基於上面的案例分析,Flink非常適合於:

    多種資料來源(有時不可靠):當資料是由數以百萬計的不同使用者或裝置產生的,它是安全的假設資料會按照事件產生的順序到達,和在上游資料失敗的情況下,一些事件可能會比他們晚幾個小時,遲到的資料也需要計算,這樣的結果是準確的。

    應用程式狀態管理:當程式變得更加的複雜,比簡單的過濾或者增強的資料結構,這個時候管理這些應用的狀態將會變得比較難(例如:計數器,過去資料的視窗,狀態機,內建資料庫)。flink提供了工具,這些狀態是有效的,容錯的,和可控的,所以你不需要自己構建這些功能。

    資料的快速處理:有一個焦點在實時或近實時用例場景中,從資料生成的那個時刻,資料就應該是可達的。在必要的時候,flink完全有能力滿足這些延遲。

    海量資料處理:這些程式需要分佈在很多節點執行來支援所需的規模。flink可以在大型的叢集中無縫執行,就像是在一個小叢集一樣。

  • 中秋節和大豐收的關聯?
  • 社會上靠臉吃飯的人越來越多,“顏值即正義”這說法,你怎麼看?