想學大數(shù)據(jù)應該要具備什么
?

? ?
? ? ?學習大數(shù)據(jù)必須要了解大數(shù)據(jù)中包含什么,學習大數(shù)據(jù)具體要學習什么兩方面。
在學習大數(shù)據(jù)中具體學習的大概分為五類:開發(fā)語言、大數(shù)據(jù)存儲、分布式計算、數(shù)據(jù)倉庫技術和機器學習。
? ? 第一、學習的開發(fā)語言三種:java、python、scala.在大數(shù)據(jù)中語言重要程度為:java>scala>python.
? ? 第二、大數(shù)據(jù)的分布式存儲有:Hdfs、Hbas、Redis、Mongedb.其中Redis是分布式存儲,其他三種是做大數(shù)據(jù)的分布離線存儲,海量數(shù)據(jù)在Hdfs中存儲。
? ? 第三、大數(shù)據(jù)的分布式計算:Mapreducer、Sparkstreamming、Spark Core、Fink.
數(shù)據(jù)倉庫技術:Hive、Sqoop、Flime.
? ? 第四、機器學習:Mahout、Scikit leam、MLilb.
學習大數(shù)據(jù)還要掌握一點是,大數(shù)據(jù)的分布式計算(一):將該應用分解成許多小的部分,分配給多臺計算機進行處理。這樣可以節(jié)約整體計算時間,大大提高計算效率。
離線分布式計算:在計算開始前已知所有輸入數(shù)據(jù),輸入數(shù)據(jù)不會產生變化,并且計算之后直接產生結果。
特點:1、數(shù)據(jù)量巨大且保存時間長
2、在大量數(shù)據(jù)上進行復雜的批量運算
3、數(shù)據(jù)在計算之前已經完全到位,不會發(fā)生變化
4、能夠方便的查詢批量計算的結果。
大數(shù)據(jù)的分布式計算(二)
流式分布式計算
?對天規(guī)模流 動數(shù)據(jù)在不斷變化的運動過程中實時地進行計算,來-條數(shù)據(jù)就計算一下。
主要技術:
1、Spark Streamming
2、Storm
3、?Flink
數(shù)據(jù)倉庫:離線數(shù)倉數(shù)據(jù)倉庫是一個面向主題的(Subject Oriented)、集成的(Integrate)、 相對穩(wěn)定的(Non-Volatile) 、反映歷史變化(Time Variant)的數(shù)據(jù)集合,用于支持管理決策。
數(shù)倉理論基礎;數(shù)倉架構: Lambda架 構和Kappa架構離線數(shù)倉技術: Hive,Hbase, Sqoop, Kylin, MR等
實時數(shù)倉的概念
實時數(shù)倉技術: Flume,Kafka, Flink等。
因此,這就告訴我們,想要學習大數(shù)據(jù)應該先把基礎學習好,把大數(shù)據(jù)的體系理清楚。才能為更好地學習大數(shù)據(jù)做鋪墊
?