Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps:C#, Asp .net Mvc、Azure、Docker、Data Science

[Data Science 到底是什麼從一個完全外行角度來看][12]Hadoop總結(下篇) - 一切才剛剛開始

image
圖片來源: https://pixabay.com/en/books-spine-colors-pastel-1099067/https://pixabay.com/en/math-blackboard-education-classroom-1547018/

上一篇(11]Hadoop總結(上篇) - 一切才剛剛開始)介紹了Hadoop的Ecosystem之後,了解到有很多package建立在Hadoop上面。

不過一個問題會浮現出來,這門多package,怎麼讓他們互相溝通沒有問題?畢竟版本和版本之間很有可能會有相容性問題。

這就是Hadoop Distribution的作用,一些整理好包成一包的Hadoop Ecosystem,有些distribution還包括一些管理界面讓整個管理變得更加簡單。

Hadoop Distribution

當透過這系列的介紹方式把Hadoop POC做完了之後,當真的要測試的時候肯定不是用這種方式管理,而是用Hadoop Distribution。

基本上Hadoop Distribution可以把它想象成一個solution package - 把多個Ecosystem套件組合在一起變成一個完整的package,讓安裝和使用變得簡單。

這邊快速介紹3+1個這種Distribution:

  1. Cloudera's Distribution include Apache Hadoop (CDH) - Linux
  2. Hortonworks Data Platform (HDP) - Linux and Windows
  3. Syncfusion Big Data Platform - Linux and Windows
  4. Microsoft Azure HDInsight - 微軟雲端的big data solution

快速總結Distribution的差異

CDHHDPSBDPHDInsight
支援的OSLinuxWindows、LinuxWindows、LinuxNA - 在Azure雲端
是否需要收費?免費免費符合條件免費 - 收費收費
是否有客制管理界面?沒有有 - Azure管理界面
建議使用情境如果在Linux環境如果在Windows並且需要免費

如果在Windows並且願意付費。

如果剛開始在Windows學習Hadoop,建議從這個開始,因為安裝和管理界面很容易使用,並且如果符合Community License也是免費。

如果沒有機器但是又想測試Hadoop

接下來會在更深入一些介紹這些Distribution。

Cloudera's Distribution include Apache Hadoop (CDH)

CDH貌似是最早做這種Distribution的機構,基本概念很簡單,整合這些Ecosystem的package在一包裡面並且提供一個管理界面方便管理cluster和這些package。

從下圖可以看到整個CDH提供的服務和內容:

image
CDH的架構。來源:https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_intro.html

CDH是免費的,不過cloudera也有提供Enterprise服務,也就是收費的服務。基本上就是CDH加上更多管理面和一些Technical Support。

CDH 只支援 Linux,所以如果在Windows就別想了。

參考資料
  1. Overview: CDH Overview
  2. 有支援的OS:CDH 5 and Cloudera Manager 5 Requirements and Supported Versions
  3. 快速測試的下載鏈接:CDH 5.12 Quick Start Download
  4. 快速測試的文件:Cloudera Manager and CDH QuickStart Guide

Hortonworks Data Platform (HDP)

image
Hortonworks Logo

HDP可以說是最早有支援Windows的Distribution,後面提到的Azure HDInsight內部執行的就是HDP。

HDP可以說是把很多opensource package整合在一起的Distribution,所以不像cloudera那樣有自己的管理界面,而是用Ambari(也是一個open source的package)。

image
整個架構

HDP支援Windows和Linux。

參考資料
  1. Overview介紹:鏈接 - 對於每個Package有對應說明
  2. 下載Sandbox VM做測試:GET STARTED WITH HORTONWORKS SANDBOX

Syncfusion Big Data Platform

image
Syncfusion的logo

Syncfusion最出名應該是有提供一些免費的ebook叫做Succinctly系列,用短短篇幅介紹一些技術,同時對於Windows的開發有提供很多好用的套件可以快速上手。因此在這邊介紹的Distribution裡面以Windows開發者來說是最親民。

Syncfusion Big Data Platform (下面簡稱SBDP) 是這3個裡面最年輕的Distribution,不過個人認為至少在Windows平台下是最容易操作的一個。

SBDP有包含一個BigData Studio,裡面用tab的方式能夠切換不同的Package,並且有一個界面可以看到這些Package的Service是否有啟動,這個操作起來非常的直覺。

image
BigData Studio的截圖

SBDP支援Windows和Linux,如果需要在Windows開發個人建議從SBDP做嘗試。

SBDP有提供Community的版本,所以在測試上面是免費,不過如果用在Production如果不符合Community License就會需要一筆費用。

參考資源
  • 首頁介紹:鏈接
  • 下載鏈接(需要先註冊帳號):鏈接
  • 操作手冊:鏈接

Azure HDInsight

Azure HDInsight不算是Distribution,是微軟Azure上面的一個Hadoop as Service的概念。因此,如果沒有機器但是想要測試Hadoop,可以考慮用Azure HDInsight。

整個Azure HDInsight底層其實就是Hortonworks的HDP。

基本上拆成了兩塊:

  1. HDInsight - 屬於運算的部分(可以理解MapReduce執行的部分)
  2. Azure Storage - HDFS的部分

所以儲存和運算可以分開,由於HDInsight比較貴,因此可以先把資料上傳到Azure Storage(Storage和HDInsight比相對便宜呢多),等到需要執行運算的時候在啟動HDInsight。

image
架構

參考資料

一切才剛剛開始 - Data Engineer之路

Data Engineer屬於Data Sciencist的分支的一個部分,主要在做的工作就是專注于在資料儲存這一塊。

因此如果對於Hadoop和整個Ecosystem的管理、維護及使用非常有興趣,那麼可以繼續往下鑽研並且可以找Data Engineer相關的工作。

結語

這個系列關於Data底層儲存就介紹到這邊了,希望對於要往下鑽研能夠提供一個足夠的基礎,至少往下看的時候不會完全看不懂。

之前做的Hadoop VM先不要刪,後面介紹R的時候會介紹R如何和Hadoop接。所以如果到時候要跟著做的話會需用到。

接下來將會開始到下一個階段([13]Data的運用 - 介紹篇),也就是實際對資料的理解、運用到最後建立出預測模型。

comments powered by Disqus