大數據架構技術

下圖是近來學習和用到的大數據方面的技術,現在做一個總結。並且在總結的過程中,也進行更加進一步的學習和了解。

  

 

 

 

以上爲個人所接觸到的大數據相關的一些技術,後續的章節將圍繞這些技術展開,具體的介紹方式是從應用和原理兩個方面進行。

 

1、大數據實時流架構

(1) 消息隊列

消息隊列是在不同的應用間做數據傳遞的,現在常用的主要包括Kafka,redis 隊列,RabbitMQ,ZeroMQ,ActiveMQ 等。

 

(2)流式處理框架

流式處理框架主要是提供了一實時處理消息的計算框架,具體的實現是由業務方自己來寫代碼完成的。常見的有Storm、Spark Streaming、以及Flink。

 

(3) 存儲

對於數據的存儲,常規的關係型數據庫(比如mysql、Oracle)也可以實現,但是對於大數據的存儲,現在比較流行的比如是NoSql數據庫,比如 Redis、MongoDB、HBase 這三種是最常用的。尤其對於Redis,很多大型公司都誰針對自己的業務場景對其進行封裝,提供監控、報警和自動擴容等功能。

2、大數據離線流架構

(1)數據存儲

目前大數據技術最常用的存儲方式爲:HDFS、Hive(基於HDFS)

(2)數據分析和處理工具

目前的數據分析處理工具主要是兩個方向,MapReduce和Spark 。

MapReduce:常用的工具有原生Hadoop MapReduce,Hive SQL和Pig。其中Hadoop MapReduce是最基礎的,HIve Sql和 pig都是對其進行的上層封裝,就好像彙編語言是比較基礎的編程語言,而C和Java是對其進行的上層封裝,最終還要轉成彙編一樣的道理;

Spark 是目前最火的數據處理工具,沒有之一。其與Hadoop相比,更大程度上利用了內存。

 

 

 

 

 

發佈了135 篇原創文章 · 獲贊 29 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章