1. 程式人生 > >大數據?這些你了解嗎?(新手)

大數據?這些你了解嗎?(新手)

nod 合並 結合 pyspark 通過 數據存儲 datanode stream hdfs

一、學習大數據需要的基礎

java SE,EE(SSM)
90%的大數據框架都是java寫的
MySQL
SQL on Hadoop
Linux
大數據的框架安裝在Linux操作系統上

二、需要學什麽

第一方面:大數據離線分析

一般處理T+1數據
Hadoop 2.X:(common、HDFS、MapReduce、YARN)
環境搭建,處理數據的思想
Hive:
大數據數據倉庫
通過寫SQL對數據進行操作,類似於mysql數據庫中的sql

HBase
基於HDFS的NOSQL數據庫
面向列的存儲

協作框架:
sqoop(橋梁:HDFS 《==》RDBMS)
flume:收集日誌文件中信息

調度框架anzkaban,了解:crotab(Linux自帶)、zeus(Alibaba)、Oozie(cloudera)

擴展前沿框架:
kylin、impala、ElasticSearch(ES)


註意:關於第一方面的內容我的另一篇博客有詳細的總結(是我搜索大量網上資料所得,可以幫你省下不少時間)


第二方面:大數據實時分析

以spark框架為主
Scala:OOP + FP
sparkCore:類比MapReduce
sparkSQL:類比hive
sparkStreaming:實時數據處理
kafka:消息隊列
前沿框架擴展:flink
阿裏巴巴 blink

第三方面:大數據機器學習(擴展)

spark MLlib:機器學習庫
pyspark編程:Python和spark的結合
推薦系統
python數據分析

Python機器學習


大數據框架安裝功能來劃分

海量數據存儲:

HDFS、Hive(本質存儲數據還是hdfs)、HBASE、ES

海量數據分析:

MapReduce、Spark、SQL

最原始的Hadoop框架

數據存儲:HDFS(Hadoop Distributed File System)
數據分析:MapReduce

Hadoop的起源

Google的三篇論文

雖然Google沒有公布這三個產品的源碼,
但是他發布了這三個產品的詳細設計論文,
奠定了風靡全球的大數據算法的基礎!

Google FS HDFS
MapReduce MapReduce
BigTable HBase

將任務分解然後在多臺處理能力較弱的計算節點中同時處理,然後將結果合並從而完成大數據處理。

google:android,搜索,大數據框架,人工智能框架
pagerank

Hadoop介紹

大數據絕大多數框架,都屬於Apache頂級項目
http://apache.org/
hadoop官網:
http://hadoop.apache.org/

分布式
相對於【集中式】
需要多臺機器,進行協助完成。

元數據:記錄數據的數據
架構:
主節點Master 老大,管理者
管理
從節點Slave 從屬,奴隸,被管理者
幹活

Hadoop也是分布式架構

common

HDFS:

主節點:NameNode
決定著數據存儲到那個DataNode上
從節點:DataNode
存儲數據

MapReduce:

分而治之思想
將海量的數據劃分為多個部分,每部分數據進行單獨的處理,最後將所有結果進行合並
map task
單獨處理每一部分的數據、

reduce task
合並map task的輸出

YARN:

分布式集群資源管理框架,管理者集群的資源(Memory,cpu core)
合理調度分配給各個程序(MapReduce)使用
主節點:resourceManager
掌管集群中的資源
從節點:nodeManager
管理每臺集群資源

總結:Hadoop的安裝部署

都屬於java進程,就是啟動了JVM進程,運行服務。
HDFS:存儲數據,提供分析的數據
NameNode/DataNode
YARN:提供程序運行的資源

ResourceManager/NodeManager




大數據?這些你了解嗎?(新手)