1、何為大數據?
大數據是指很多很多的數據,主要源於web2.0之後,數據庫中的數據量累計起來很龐大,在對數據進行操作(主要指查詢)會變得很慢,對機器的性能要求會很高,如果數據量達到足夠大(如十幾億),那服務器會崩潰的
2、大數據解決什麼問題?
大數據解決對海量數據的存儲、查詢、分析計算等操作,主要應用在利用龐大的數據歸類分析用戶的偏好,利用用戶的歷史信息得出相應的統計賬單等,將同行業的大公司的數據進行計算分析,可以挖掘出一些隱含價值。
3、學習大數據的基礎
1)java SE,EE(SSM)
因為90%的大數據框架都是java寫的
2)SQL
特別是sql語句中的查詢語句,因為對數據庫的操作最多的是查詢
使用Hadoop作為大數據的分佈式存儲、計算和分析 sql的操作會重要
3)Linux
大數據的框架安裝在Linux操作系統上
linux操作基礎
- linux系統簡介與安裝
- linux常用命令–文件操作
- linux常用命令–用戶管理與權限
- linux常用命令–系統管理
- linux常用命令–免密登陸配置與網絡管理
- linux上常用軟件安裝
- linux本地yum源配置及yum軟件安裝
- linux防火牆配置
- linux高級文本處理命令cut、sed、awk
- linux定時任務crontab
4、需要學什麼
*第一方面:大數據離線分析*
一般處理T+1數據(T是指日、周、月、年),處理歷史數據
模塊1:Hadoop
包括四大塊(common、yarn、MapReduce、HDFS)
主要掌握環境搭建、處理數據的思想
模塊2:Hive
大數據數據倉庫
通過寫SQL對數據進行操作,類似於mysql數據庫中的sql
內存數據庫redis
- redis和nosql簡介
- redis客戶端連接
- redis的string類型數據結構操作及應用-對象緩存
- redis的list類型數據結構操作及應用案例-任務調度隊列
- redis的hash及set數據結構操作及應用案例-購物車
- redis的sortedset數據結構操作及應用案例-排行榜
模塊3:HBase
基於HDFS的NOSQL數據庫
面向列的存儲
協作框架:
sqoop(橋樑:HDFS 《==》RDBMS)
flume:收集日誌文件中信息
調度框架anzkaban,
瞭解:crotab(Linux自帶)、zeus(Alibaba)、Oozie(cloudera)
擴展前沿框架:kylin、impala、ElasticSearch(ES)
shell編程
- shell編程–基本語法
- shell編程–流程控制
- shell編程–函數
- shell編程–綜合案例–自動化部署腳本
第二方面:大數據離線分析
以spark框架為主
Scala:OOP + FP
sparkCore:類比MapReduce
sparkSQL:類比hive
sparkStreaming:實時數據處理
kafka:消息隊列
前沿框架擴展:flink
阿里巴巴 blink
第三方面:大數據機器學習(擴展)
spark MLlib:機器學習庫
pyspark編程:Python和spark的結合
推薦系統
python數據分析
Python機器學習
大數據框架安裝功能來劃分
1、海量數據存儲:
HDFS、Hive(本質存儲數據還是hdfs)、HBASE、ES
2、海量數據分析:
MapReduce、Spark、SQL
最原始的Hadoop框架
數據存儲:HDFS(Hadoop Distributed File System)
數據分析:MapReduce
Hadoop的起源
Google的三篇論文
雖然Google沒有公佈這三個產品的源碼,
但是他發佈了這三個產品的詳細設計論文,
奠定了風靡全球的大數據算法的基礎!
Hadoop介紹
大數據絕大多數框架,都屬於Apache頂級項目
http://apache.org/
hadoop官網:
http://hadoop.apache.org/
分佈式
相對於【集中式】
需要多臺機器,進行協助完成。
元數據:記錄數據的數據
架構:
主節點Master 老大,管理者
管理
從節點Slave 從屬,奴隸,被管理者
幹活
Hadoop也是分佈式架構
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
federation介紹和hive使用
- Hadoop的HA機制
- HA集群的安裝部署
- 集群運維測試之Datanode動態上下線
- 集群運維測試之Namenode狀態切換管理
- 集群運維測試之數據塊的balance
- HA下HDFS-API變化
- hive簡介
- hive架構
- hive安裝部署
- hvie初使用
好了,今天的知識就分享到這裡,歡迎關注愛編程的南風,私信關鍵詞:大數據 ,獲取更多學習大數據的資源,如果文章對你有有幫助,請收藏關注,在今後與你分享更多學習大數據的文章。同時歡迎在下面評論區留言如何學習大數據。
閱讀更多 愛編程的南風 的文章