06.14 編程就像遊戲打怪升級一樣,大佬分享Java到大數據學習的技術路線

編程就像遊戲打怪升級一樣,大佬分享Java到大數據學習的技術路線

1、何為大數據?

大數據是指很多很多的數據,主要源於web2.0之後,數據庫中的數據量累計起來很龐大,在對數據進行操作(主要指查詢)會變得很慢,對機器的性能要求會很高,如果數據量達到足夠大(如十幾億),那服務器會崩潰的

2、大數據解決什麼問題?

大數據解決對海量數據的存儲、查詢、分析計算等操作,主要應用在利用龐大的數據歸類分析用戶的偏好,利用用戶的歷史信息得出相應的統計賬單等,將同行業的大公司的數據進行計算分析,可以挖掘出一些隱含價值。

3、學習大數據的基礎

1)java SE,EE(SSM)

因為90%的大數據框架都是java寫的

2)SQL

特別是sql語句中的查詢語句,因為對數據庫的操作最多的是查詢

使用Hadoop作為大數據的分佈式存儲、計算和分析 sql的操作會重要

3)Linux

大數據的框架安裝在Linux操作系統上

編程就像遊戲打怪升級一樣,大佬分享Java到大數據學習的技術路線

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

編程就像遊戲打怪升級一樣,大佬分享Java到大數據學習的技術路線

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

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初使用

好了,今天的知識就分享到這裡,歡迎關注愛編程的南風,私信關鍵詞:大數據 ,獲取更多學習大數據的資源,如果文章對你有有幫助,請收藏關注,在今後與你分享更多學習大數據的文章。同時歡迎在下面評論區留言如何學習大數據。


分享到:


相關文章: