大數據基本架構
了解架構能更清晰地認識每個組件,數據處理流程,用作流程設計和技術選型
數據傳輸層
Flume 專業的日志收集工具,對象一般是 文件類型;
Sqoop 是專門采集結構化數據的,對象一般是 數據庫;
Kafka 實際上是一個 MQ,當做緩存,常用於高並發;它既能傳輸,也能存儲,只是存儲空間有限,默認 1 G(可配置),且有存儲期限,默認 7 天(可配置);
其實還有一些不太常用的工具,如 Logstash、DataX
數據存儲層
MySQL 關系型數據庫,存儲結構化數據,還有很多其他關系型數據庫;
Mongodb 非關系型數據庫;
HDFS 分布式 文件系統,非結構化數據,把文件分布式的存儲在集群上;
Hive 是基於 hadoop 的數據倉庫,存儲結構化數據;Hive 也可以用於計算,所以也在計算層
HBase
S3
其中 HDFS、Hive、HBase 是大數據常用的技術,只是 HBase 用戶在減少
數據計算層
MapReduce 基礎分布式計算框架;
Hive 基於 MapReduce 的計算框架,它把 sql 轉換成了 MapReduce;
Spark 基於內存的計算,計算效率高;
Storm 實時計算,只是它的擴展太少,逐漸被淘汰;
Flink 逐漸火起來;
Tez