回覆列表
  • 1 # 千鋒頭號粉絲

    想學習大資料技術,是不是首先要知道大資料技術有哪些呢?也好知道自己未來應該往哪個方向發展,應該重點學習哪些知識?

    抽象而言,各種大資料技術無外乎分散式儲存 + 平行計算。具體體現為各種分散式檔案系統和建立在其上的並行運算框架。這些軟體程式都部署在多個相互連通、統一管理的物理或虛擬運算節點之上,形成叢集(cluster)。因此不妨說,雲計算是大資料的基礎。

    下面介紹幾種當前比較流行的大資料技術:

    1.Hadoop

    Hadoop無疑是當前很知名的大資料技術了。

    2003年到2004年間,Google釋出了關於GFS、MapReduce和BigTable三篇技術論文(這幾篇論文成為了後來雲計算、大資料領域發展的重要基石)。當時一位因公司倒閉賦閒在家的程式設計師Doug Cutting根據前兩篇論文,開發出了一個簡化的山寨版GFS – HDFS,以及基於其的MapReduce計算框架,這就是Hadoop當初的版本。後來Cutting被Yahoo僱傭,得以依賴Yahoo的資源改進Hadoop,並將其貢獻給了Apache開源社群。

    簡單描述Hadoop原理:資料分散式儲存,運算程式被髮派到各個資料節點進行分別運算(Map),再將各個節點的運算結果進行合併歸一(Reduce),生成結果。相對於動輒TB級別的資料,計算程式一般在KB – MB的量級,這種移動計算不移動資料的設計節約了大量網路頻寬和時間,並使得運算過程可以充分並行化。

    在其誕生後的近10年裡,Hadoop憑藉其簡單、易用、高效、免費、社群支援豐富等特徵成為眾多企業雲計算、大資料實施的首選。

    2.Storm

    Hadoop雖好,卻有其“死穴”.其一:它的運算模式是批處理。這對於許多有實時性要求的業務就無法做到很好的支援。因此,Twitter推出了他們自己的基於流的運算框架——Storm。不同於Hadoop一次性處理所有資料並得出統一結果的作業(job),Storm對源源匯入的資料流進行持續不斷的處理,隨時得出增量結果。

    3.Spark

    Hadoop的另一個致命弱點是:它的所有中間結果都需要進行硬碟儲存,I/O消耗巨大,這就使得它很不適合多次迭代的運算。而大多數機器學習演算法,恰恰要求大量迭代運算。

    2010年開始,UC Berkeley AMP Lab開始研發分散式運算的中間過程全部記憶體儲存的Spark框架,由此在迭代計算上大大提高了效率。也因此成為了Hadoop的強有力競爭者。

    4.NoSQL 資料庫

    NoSQL資料庫可以泛指非關係型資料庫,不過一般用來指稱那些建立在分散式檔案系統(例如HDFS)之上,基於key-value對的資料管理系統。

    相對於傳統的關係型資料庫,NoSQL資料庫中儲存的資料無需主鍵和嚴格定義的schema。於是,大量半結構化、非結構化資料可以在未經清洗的情況下直接進行儲存。這一點滿足了處理大量、高速、多樣的大資料的需求。當前比較流行的NoSQL資料庫有MongoDB,Redis,Cassandra,HBase等。

    NoSQL並不是沒有SQL,而是不僅僅有(not only)SQL的意思。為了相容之前許多執行在關係型資料庫上的業務邏輯,有很多在NoSQL資料庫上執行SQL的工具湧現出來,典型的例如Hive和Pig,它們將使用者的SQL語句轉化成MapReduce作業,在Hadoop上執行。

    大資料產業已進入發展的“快車道”,急需大量優秀的大資料人才作為後盾。能夠在大資料行業崛起的初期進入到這個行業當中來,才有機會成為時代的弄潮兒。

  • 2 # 加米穀大資料

    大資料技術中管理技術涉及到資料儲存、分散式排程等,有:

    HBase

    HBase是Hadoop的資料庫,不同於一般的關係資料庫,HBase更適合於非結構化資料儲存的資料庫,實時讀/寫訪問大資料,最佳化承載非常大的資料表。

    ZooKeeper

    ZooKeeper是Hadoop和Hbase的重要元件,是一個為分散式應用提供一致性服務的軟體,一種集中式的服務(負載平衡器),提供的功能包括:配置維護、域名服務、分散式同步、元件服務等,並提供團體服務。

    Kafka

    Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,其在大資料開發應用上的目的是透過Hadoop的並行載入機制來統一線上和離線的訊息處理。

    大資料軟體有哪些?大資料軟體技術簡介

    https://www.toutiao.com/i6718993848996987396/

  • 中秋節和大豐收的關聯?
  • 如何評價電影《快把我哥帶走》?