日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


大數據實時處理框架 條理清晰易掌握

 

歡迎來到BigData的世界

現如今,我們來到了數據時代,數據信息化與我們的生活與工作息息相關。此篇文章簡述利用大數據框架,實時處理數據的流程與相關框架的介紹,主要包括:

  • 數據實時處理的概念和意義
  • 數據實時處理能做什么
  • 數據實時處理架構簡介
  • 數據實時處理代碼演示

數據實時處理的概念和意義

什么是數據實時處理呢?我個人對數據實時處理的理解為:

數據從生成->實時采集->實時緩存存儲->(準)實時計算->實時落地->實時展示->實時分析

這一個流程線下來,處理數據的速度在秒級甚至毫秒級。

  • 數據實時處理有什么意義呢?我們得到數據可以進行數據分析,利用數據統計方法,從錯綜復雜的數據關系中梳理出事物的聯系,比如發展趨勢、影響因素、因果關系等。甚至建立一些BI,對一些數據的有用信息進行可視化呈現,并形成數據故事。

數據實時處理能做什么

數據的實時計算

何為數據的實時計算?我們從數據源端拿到數據,可能不盡如人意,我們想對得到的數據進行 ETL 操作、或者進行關聯等等,那么我們就會用到數據的實時計算。目前主流的實時計算框架有 spark,storm,flink 等。

數據的實時落地

數據的實時落地,意思是將我們的源數據或者計算好的數據進行實時的存儲。在大數據領域,推薦使用 HDFS,ES 等進行存儲。

數據的實時展示與分析

我們拿到了數據,要會用數據的價值。數據的價值體現在數據中相互關聯關系,或與歷史關聯,或能預測未來。我們實時得到數據,不僅能夠利用前端框架進行實時展示,還可以對其中的一些數據進行算法訓練,預測未來走勢等。

example:

淘寶雙 11 大屏,每年的雙 11 是淘寶粉絲瘋狂的日子。馬云會在雙 11 的當天在阿里總部豎起一面大的電子屏幕,展示淘寶這一天的成績。例如成交額,訪問人數,訂單量,下單量,成交量等等。這個電子大屏的背后,就是用到的我們所說的數據的實時處理。首先,阿里的服務器遍布全國各地,這些服務器收集PC端、手機端等日志,上報到服務器,在服務上部署數據采集工具。接下來,由于數據量龐大,需要做數據的緩存緩沖處理。下一步,對原始日志進行實時的計算,比如篩選出上面所述的各個指標。最后,通過接口或者其他形式,進行前端屏幕的實時展示。

數據實時處理架構簡介

接下來是我們介紹的重點,先放一張數據流程圖:

大數據實時處理框架 條理清晰易掌握

 

  • 數據采集端,選用目前采集數據的主流控件 flume。
  • 數據緩沖緩存,選用分布式消息隊列 kafka。
  • 數據實時計算,選用 spark 計算引擎。
  • 數據存儲位置,選用分布式數據存儲 ES
  • 其他,指從 ES 中拿到數據后進行可視化展示,數據分析等。

下面將分別簡單的介紹下各個組件:flume

flume

是一個分布式的數據收集系統,具有高可靠、高可用、事務管理、失敗重啟、聚合和傳輸等功能。數據處理速度快,完全可以用于生產環境。

flume 的核心概念有:event,agent,source,channel,sink

event

flume 的數據流由事件 (event) 貫穿始終。event 是 flume 的基本數據單位,它攜帶日志數據并且攜帶數據的頭信息,這些 event 由 agent 外部的 source 生成,當 source 捕獲事件后會進行特定的格式化,然后 source 會把事件推入 channel 中。可以把 channel 看作是一個緩沖區,它將保存事件直到 sink 處理完該事件。sink 負責持久化日志或者把事件推向另一個 source。

agent

flume 的核心是 agent。agent 是一個 JAVA 進程,運行在日志收集端,通過 agent 接收日志,然后暫存起來,再發送到目的地。 每臺機器運行一個 agent。 agent 里面可以包含多個 source,channel,sink。

source

source 是數據的收集端,負責將數據捕獲后進行特殊的格式化,將數據封裝到 event 里,然后將事件推入 channel 中。flume 提供了很多內置的 source,支持 avro,log4j,syslog 等等。如果內置的 source 無法滿足環境的需求,flume 還支持自定義 source。

channel

channel 是連接 source 和 sink 的組件,大家可以將它看做一個數據的緩沖區(數據隊列),它可以將事件暫存到內存中也可以持久化到本地磁盤上, 直到 sink 處理完該事件。兩個較為常用的 channel,MemoryChannel 和 FileChannel。

sink

sink 從 channel 中取出事件,然后將數據發到別處,可以向文件系統、數據庫、hadoop、kafka,也可以是其他 agent 的 source。

flume 的可靠性與可恢復性

  • flume 的可靠性:當節點出現故障時,日志能夠被傳送到其他節點上而不會丟失。Flume 提供了可靠性保障,收到數據首先寫到磁盤上,當數據傳送成功后,再刪除;如果數據發送失敗,可以重新發送。
  • flume 的可恢復性:可恢復性是靠 channel。

口述抽象,上兩張官網貼圖:

單個 agent 收集數據流程圖

大數據實時處理框架 條理清晰易掌握

 

多個 agent 協作處理數據流程圖

大數據實時處理框架 條理清晰易掌握

 

kafka

Kafka 是一個高吞吐量的分布式發布-訂閱消息系統。企業中一般使用 kafka 做消息中間件,做緩沖緩存處理。需要 zookeeper 分布式協調組件管理。

kafka 的設計目標:

  1. 提供優秀的消息持久化能力,對 TB 級以上數據也能保證常數時間的訪問性能。高吞吐率。即使在非常廉價的機器上也能做到每臺機每秒 100000 條消息的傳輸。支持 kafka server 間的消息分區,及分布式消費,同時保證每個 partition 內的消息順序傳輸。同時支持離線數據處理和實時數據處理。

kafka 核心概念

  • broker:消息中間件處理結點,一個 kafka 節點就是一個 broker,多個 broker 可以組成一個 kafka 集群。topic:主題,kafka 集群能夠同時負責多個 topic 的分發。partition:topic 物理上的分組,一個 topic 可以分為多個 partition,每個 partition 是一個有序的隊列。offset:每個 partition 都由一系列有序的、不可變的消息組成,這些消息被連續的追加到 partition 中。partition 中的每個消息都有一個連續的序列號叫做 offset,用于 partition 唯一標識一條消息。producer:負責發布消息到 kafka broker。consumer:消息消費者,向 kafka broker讀取消息的客戶端。consumer group:每個 consumer 屬于一個特定的 consumer group。

貼兩張官網圖

prodecer-broker-consumer

大數據實時處理框架 條理清晰易掌握

 

分區圖

大數據實時處理框架 條理清晰易掌握

 

spark

spark 是一個分布式的計算框架,是我目前認為最火的計算框架。

spark,是一種"one stack to rulethem all"的大數據計算框架,期望使用一個技術棧就完美地解決大數據領域的各種計算任務。Apache 官方,對 spark 的定義是:通用的大數據快速處理引擎(一“棧”式)。

spark組成

  1. spark core 用于離線計算
  2. spark sql 用于交互式查詢
  3. spark streaming,structed streaming 用于實時流式計算
  4. spark MLlib 用于機器學習
  5. spark GraphX 用于圖計算

spark 特點

  1. 速度快:spar k基于內存進行計算(當然也有部分計算基于磁盤,比如 shuffle)。
  2. 容易上手開發:spark 的基于 rdd 的計算模型,比 hadoop 的基于 map-reduce 的計算模型要更加易于理解,更加易于上手開發,實現各種復雜功能。
  3. 通用性:spark 提供的技術組件,可以一站式地完成大數據領域的離線批處理、交互式查詢、流式計算、機器學習、圖計算等常見的任務。

與其他技術的完美集成:例如 hadoop,hdfs、hive、hbase 負責存儲,yarn 負責資源調度,spark 負責大數據計算。極高的活躍度:spark 目前是 apache 的頂級項目,全世界有大量的優秀工程師是 spark 的 committer,并且世界上很多頂級的 IT 公司都在大規模地使用 spark。

大數據實時處理框架 條理清晰易掌握

 

分享到:
標簽:框架 數據
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定