大數據技術總結

大綱

概念,應用,難題,技術棧,思想

概念

大數據是以容量大、類型多、存儲速度快、應用價值高爲主要特徵的數據集合,正快速發展爲對數量巨大、來源分散、格式多樣的數據進行採集、存儲和關聯分析,從中發現新知識、創造新價值、提升新能力的新一代信息技術和服務業態。

應用

互聯網領域(推薦,廣告,搜索),電信(網絡管理,市場營銷),醫療(藥品研發,臨牀數據對比),金融(客戶畫像,風險管控)

難題

數據安全,計算速度,分析工具等。
數據收集層:分佈式,異構性,格式多樣化,流式產生。需有擴展性、可靠性、安全性、低延遲
數據存儲層:需有擴展性、容錯性、支持多種存儲模型等特點等特點
資源管理與服務協調層:需有資源利用率高、運維成本低、數據共享等特點
計算引擎層:需有系統吞吐量大和數據處理延遲低特點
數據分析層:算法能力強
數據可視化層:易於人理解

技術棧

大數據架構

LA(Lambda Architecture),分爲三層,批處理層、流式處理層和服務層。優勢:兼顧了數據可靠性和低延時。主要有Google爲主和Hadoop+Spark兩種主流生態技術棧。下圖是Hadoop+Spark主流技術棧
在這裏插入圖片描述

1. 數據收集

Sqoop/Canal

關係型數據收集和導入工具,是連接關係型數據庫的橋樑;Cannal可用於實現數據的增量導入

Flume

非關係型數據收集工具,主要是流式日誌數據

Kafka

分佈式消息隊列

2. 數據存儲

HDFS

hadoop分佈式文件系統

HBase

構建在HDFS之上的分佈式數據庫

Kudu

分佈式列式存儲數據庫

3. 分佈式協調與資源管理

Zookeeper

基於簡化的Paxos協議實現的服務系協調系統

Yarn

同一資源管理與調度系統

4. 數據計算

MapReduce

經典的Hadoop批處理計算引擎

Spark

通用DAG計算引擎,可以批處理和流處理

Impala/Presto

分別由Cloudera和Facebook開源的MPP系統,均是爲了克服Hive性能低下而提出來的SQL查詢引擎

Storm

分佈式流式實時計算引擎

Flink

開源流處理框架,阿里發展爲Blink,成爲主流

5. 數據分析

Hive

基於MapReduce/Tez實現的SQL引擎

Pig

基於MapReduce/Tez實現的工作流引擎

SparkSQL

基於Spark實現的SQL引擎

Mahout/MLLib

機器學習和數據挖掘算法,Mahout基於MapReduce,MLlib基於Spark

Apache Beam

基於各類計算框架而封裝的高級API,方便用戶構建複雜的數據流水線

MOLAP

是一種通過與計算cube方式加速查詢的OLAP引擎,核心思想是“空間換時間”,典型的有Druid和Kylin。

Hadoop發行版本

Apache Hadoop,CDH(Cloudera Distribute Hadoop),HDP(Hortonworks Data Platform)

大數據計算模式

在這裏插入圖片描述

技術指標

  1. 可擴展性(水平擴展,垂直擴展)
  2. 一致性(強一致性,弱一致性,最終一致性)
  3. 持久性(複製)

思想

分而治之,MapReduce分片並行處理;scale-up–>scale-out。
計算向數據移動,數據移動花銷大。
主從災備。
Paxos舉手投票保證數據一致性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章