大資料學習的必要性,讓你走向時代前沿!

金羅老師發表於2019-03-08

大資料及人工智慧可謂是目前最熱門的行業,從走在前沿的科技公司,到努力創新的傳統行業,幾乎都想把握這個新“風口”。一部分學校也走上了大資料的道路。

在這裡還是要推薦下我自己建的大資料學習交流群:199427210,群裡都是學大資料開發的,如果你正在學習高大上大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。


大資料路線 

 java(Java se,javaweb)
  Linux(shell,高併發架構,lucene,solr)
  Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)
  機器學習(R,mahout)
  Storm(Storm,kafka,redis)
  Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
  Python(python,spark python) 
  雲端計算平臺(docker,kvm,openstack)

  名詞解釋

  一、Linux
  lucene: 全文檢索引擎的架構
  solr: 基於lucene的全文搜尋伺服器,實現了可配置、可擴充套件並對查詢效能進行了最佳化,並且提供了一個完善的功能管理介面。

  二、Hadoop
  HDFS: 分散式儲存系統,包含NameNode,DataNode。NameNode:後設資料,DataNode。DataNode:存數資料。
  yarn: 可以理解為MapReduce的協調機制,本質就是Hadoop的處理分析機制,分為ResourceManager NodeManager。
  MapReduce: 軟體框架,編寫程式。
  Hive: 資料倉儲 可以用SQL查詢,可以執行Map/Reduce程式。用來計算趨勢或者網站日誌,不應用於實時查詢,需要很長時間返回結果。
  HBase: 資料庫。非常適合用來做大資料的實時查詢。Facebook用Hbase儲存訊息資料並進行訊息實時的分析
  ZooKeeper: 針對大型分散式的可靠性協調系統。Hadoop的分散式同步等靠Zookeeper實現,例如多個NameNode,active standby切換。
  Sqoop: 資料庫相互轉移,關係型資料庫和HDFS相互轉移
  Mahout: 可擴充套件的機器學習和資料探勘庫。用來做推薦挖掘,聚集,分類,頻繁項集挖掘。
  Chukwa: 開源收集系統,監視大型分散式系統,建立在HDFS和Map/Reduce框架之上。顯示、監視、分析結果。
  Ambari: 用於配置、管理和監視Hadoop叢集,基於Web,介面友好。

  二、Cloudera
  Cloudera Manager: 管理 監控 診斷 整合
  Cloudera CDH:(Cloudera's Distribution,including Apache Hadoop) Cloudera對Hadoop做了相應的改變,發行版本稱為CDH。
  Cloudera Flume: 日誌收集系統,支援在日誌系統中定製各類資料傳送方,用來收集資料。
  Cloudera Impala: 對儲存在Apache Hadoop的HDFS,HBase的資料提供直接查詢互動的SQL。
  Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH元件的shell介面的介面,可以在hue編寫mr。

  三、機器學習/R
  R: 用於統計分析、繪圖的語言和操作環境,目前有Hadoop-R
  mahout: 提供可擴充套件的機器學習領域經典演算法的實現,包括聚類、分類、推薦過濾、頻繁子項挖掘等,且可透過Hadoop擴充套件到雲中。

  四、storm
  Storm: 分散式,容錯的實時流式計算系統,可以用作實時分析,線上機器學習,資訊流處理,連續性計算,分散式RPC,實時處理訊息並更新資料庫。
  Kafka: 高吞吐量的分散式釋出訂閱訊息系統,可以處理消費者規模的網站中的所有動作流資料(瀏覽,搜尋等)。相對Hadoop的日誌資料和離線分析,可以實現實時處理。目前透過Hadoop的並行載入機制來統一線上和離線的訊息處理
  Redis: 由c語言編寫,支援網路、可基於記憶體亦可持久化的日誌型、key-value型資料庫。

  五、Spark
  Scala: 一種類似java的完全物件導向的程式語言。
  jblas: 一個快速的線性代數庫(JAVA)。基於BLAS與LAPACK,矩陣計算實際的行業標準,並使用先進的基礎設施等所有的計算程式的ATLAS藝術的實現,使其非常快。

  Spark: Spark是在Scala語言中實現的類似於Hadoop MapReduce的通用並行框架,除了Hadoop MapReduce所具有的優點,但不同於MapReduce的是job中間輸出結果可以儲存在記憶體中,從而不需要讀寫HDFS,因此Spark能更好的適用於資料探勘與機器學習等需要迭代的MapReduce演算法。可以和Hadoop檔案系統並行運作,用過Mesos的第三方叢集框架可以支援此行為。
  Spark SQL: 作為Apache Spark大資料框架的一部分,可用於結構化資料處理並可以執行類似SQL的Spark資料查詢
  Spark Streaming: 一種構建在Spark上的實時計算框架,擴充套件了Spark處理大資料流式資料的能力。
  Spark MLlib: MLlib是Spark是常用的機器學習演算法的實現庫,目前(2014.05)支援二元分類,迴歸,聚類以及協同過濾。同時也包括一個底層的梯度下降最佳化基礎演算法。MLlib以來jblas線性代數庫,jblas本身以來遠端的Fortran程式。
  Spark GraphX: GraphX是Spark中用於圖和圖平行計算的API,可以在Spark之上提供一站式資料解決方案,可以方便且高效地完成圖計算的一整套流水作業。

  Fortran: 最早出現的計算機高階程式設計語言,廣泛應用於科學和工程計算領域。

  BLAS: 基礎線性代數子程式庫,擁有大量已經編寫好的關於線性代數運算的程式。
  LAPACK: 著名的公開軟體,包含了求解科學與工程計算中最常見的數值線性代數問題,如求解線性方程組、線性最小二乘問題、特徵值問題和奇異值問題等。
  ATLAS: BLAS線性演算法庫的最佳化版本。
  Spark Python: Spark是由scala語言編寫的,但是為了推廣和相容,提供了java和python介面。

  六、Python
  Python: 一種物件導向的、解釋型計算機程式設計語言。


  七、雲端計算平臺
  Docker: 開源的應用容器引擎
  kvm: (Keyboard Video Mouse)
  openstack: 開源的雲端計算管理平臺專案


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561003/viewspace-2637908/,如需轉載,請註明出處,否則將追究法律責任。

相關文章