五種最經常使用的組件使得這一技術成文可能 web
• Apache Kafka 算法
• Apache Flume 數據庫
• Apache Spark 安全
• Apache Kudu 架構
• Apache Impala 工具
式、多客戶端支持、實時等特性 oop
• 常規的消息收集 性能
• 網站活性跟蹤 大數據
• 聚合統計系統運營數據(監控數據) 優化
• 日誌收集
• 其它大量數據的互聯網服務的數據收集場景
實現Log & Event 的聚合
• 從多種系統(sources)獲取數據,並寫入到多種目標系統
• 內建 sources, sinks, 及channels,開發集成簡單
• 定製化的工做流能夠用來快速轉換數據
• 可使用Cloudera Manager進行集中的管理和監控
• 日誌採集室Flume的主要應用場景,和其餘日誌採集工具相比,Flume最大的優點是?供了大量現成的Source和Sink,用戶只須要簡單的配置便可實現日誌採集和加載的工做
• Kafka 能夠被配置爲 Flume 的Channel
• Flume Sources 和 Sinks 能夠配置成Kafka的Consumer和Producer
Flume Sources Consume fromKafka:Write data to HDFS, HBase, or Search
Flume Sinks 把書架寫入Kafka:讀取logs, files, jms, http, rpc, thrift 等數據源並把事件數據寫入到Kafka
• Spark Streaming接收實時的輸入數據流,而後將這些數據切分爲批數據供Spark引擎處理,Spark引擎將數據生成最終的結果數據。
• 使用DStream從Kafka和HDFS等源獲取連續的數據流,Dstreams由一系列連續的RDD組成,每一個RDD包含肯定時間間隔的數據,任何對Dstreams的操做都轉換成對RDD的操做
Spark streaming 依賴spark的調度架構
• Task失敗以後能夠從新運行
• 數據源接收以後會多備份一份
• 實現exactly-once
• 不能確保順序執行
Spark Streaming的優點在於:
• 能運行在100+的結點上,並達到秒級延遲。
• 使用基於內存的Spark做爲執行引擎,具備高效和容錯的特性。
• 能集成Spark的批處理和交互查詢。
• 爲實現複雜的算法提供和批處理相似的簡單接口。
目前而言SparkStreaming 主要支持如下三種業務場景無狀態操做:
• 只關注當前的DStream中的實時數據,例如 只對當前DStream中的數據作正確性校驗
• 有狀態操做:對有狀態的DStream進行操做時,須要依賴以前的數據 例如 統計網站各個模塊總的訪問量
• 窗口操做:對指定時間段範圍內的DStream數據進行操做,例如 須要統計一天以內網站各個模塊的訪問數量
kudu是高效分析快數據的存儲格式
• Hadoop平臺支持數據修改的新的列式存儲格式
• Apache許可,100%開源
• 當前爲Beta版本,2016年一季度GA
機械硬盤 -> 固態硬盤
• NAND 閃 存:讀數據時IOPS達到45萬個,寫數據時IOPS達到25萬個,讀數據的吞吐率約爲每秒2GB,寫數據的吞吐率達到每秒1.5GB, 存儲成本低於每GB3美圓而且持續降低
• 3D XPoint memory (比NAND快1000倍, 比RAM更有成本優點)
內存成本更低,單機內存量更大 :
• 過去幾年64->128->256GB
• 啓示 1: CPU 將成爲性能瓶頸,當前的存儲系統設計時並無考慮高效使用
CPU.
• 啓示 2: 列式存儲也能夠用於隨機訪問
掃描大數據量時吞吐率高(列式存儲和多副本機制)
目標 : 相對Parquet的掃?性能差距在2x以內
訪問少許數據時延時低(主鍵索引和多數佔優複製機制)
目標 : SSD上讀寫延時不超過1毫秒
相似的數據庫語義(初期支持單行記錄的ACID)
關係數據模型
• SQL查詢
• "NoSQL"風格的掃?/插入/更新(Java客戶端)
• 有限的列數 (不一樣於HBase/Cassandra)
• 數據類型: BOOL, INT8, INT16, INT32, INT64, FLOAT, DOUBLE, STRING, BINARY,TIMESTAMP
• 一部分列構成聯合主鍵
• ALTER TABLE快速返回
• Insert(), Update(), Delete(), Scan()
• 將對接更多處理引擎!
主要適用於分析型應用,數據探索以及交互式自助查詢/分析
運營KPI 儀表盤
案例: 醫療保險
業務場景:
• 可視化展示當前醫院各項話費指標以及歷史趨勢
• 集成並整合了1000+醫院的系統數據
效益:
• 支持大規模數據處理,容許用戶查詢歷史數
據以及下鑽到更細粒度數據
• 節省了傳統數據庫許可證的費用
• 更好的查詢性能
實時SQL 數據探索
案例: 銀行
業務場景:
• 發現內部/外部的欺詐行爲
• 分析內外部系統的應用/web日誌
效益:
• 支持對非結構化數據的分析
• 使用現有的BI工具
• 使用現有Hadoop繼續,無需搬遷數據到外部的數據庫系統