• 沒有找到結果。

第三章 大數據分析方法說明

第一節 分析架構與流程

大數據分析處理流程大致可分為五個階段:資料蒐集與清理、資料儲存與管 理、資料提取、資料挖掘、數據分析(圖 3-1)。本研究蒐集新北市及其範圍 215 處山坡地社區之基本資料、地文、水文資料、自然邊坡崩塌紀錄以及社區人工邊 坡調查紀錄後,先進行資料清除 (data cleaning)、預處理以去除不必要之信息(例 如描述GIS 網格資料之資料等),並轉換為 txt 或 csv 檔案格式儲存於分散式系統 中,再根據分析需求擷取部分數據、產製測試資料與訓練資料(詳見第四章),透 過資料挖掘方法萃取出潛藏於數據資料中的知識,如相關性、特徵,或預測未來 資料,再將結果進行進階分析、加值應用。

圖3-1 大數據分析簡易流程圖

資料來源:本研究計畫成果。

為有效管理與維護巨量資料,並快速分析、支援即時運算,本研究採用 Hadoop 作為儲存與處理大數據之免費雲端平台。Hadoop 是 Apache 軟體基金會 (Apache Software Foundation)之開放原始碼計畫(open source project)作為開放原 始碼搜尋引擎之一部分,透過 Java 開發設計,提供大量資料分散儲存與運算環 境。Hadoop 之兩大核心分別為分散式檔案系統 HDFS(Hadoop Distributed File System)以及 MapReduce 分散式運算框架,由分散式檔案系統存取巨量資料,再 透過MapReduce 對資料進行分散式運算(范東來,2015)。茲就兩者架構與操作運 行方式簡述如下:

壹、HDFS 分散式檔案系統架構與運作

HDFS 分散式檔案系統為 Hadoop 之資料儲存服務系統,為 Google File System (GFS)的開源實作,可運行於低廉之電腦叢集,透過網路將資料分散儲存 於多台主機上,以存取超大型檔案。其架構為主從式(Master-Slave)架構,包含有 一個NameNode(主節點)與多個 DataNode(從節點),如圖3-2。檔案透過分散式儲 存方式,分割為數個資料區塊(block)儲存於檔案系統中,由 NameNode 紀錄檔案 與資料區塊之對應,Secondary NameNode 備份 NameNode 資料並合併日誌資料 與映像,DataNode 則實際儲存資料區塊。

當客戶端(clinet)要進行檔案儲存作業時,首先會將檔案分割為數個資料區塊,

並由NameNode 依序分配資料區塊至 DataNode 進行儲存與備份。檔案讀取時,

則從NameNode 取得檔案與資料區塊之對應,以及資料區塊位於 DataNode 存放 位址,再由客戶端向DataNode 下載該檔案對應之所有資料區塊。

貳、MapReduce 分散式運算架構與運作流程

MapReduce 同 樣 為 主 從 式 架 構 , 包 含 一 個 JobTracker( 主 節 點 ) 與 多 個 TaskTracker(從節點),如圖 3-3。當客戶端提出運算作業時,由 JobTracker 分派 任務至TaskTracker 運行,並掌握任務進度及 TaskTracker 運行狀態,而 TaskTracker 則實際執行運算並回報運行狀態予JobTracker。

MapReduce 之核心運算理念為「分而治之」,將資料運算過程拆分為Map(對 應)與 Reduce(化簡 )兩大主要步驟,拆分運算作業成多個任務、交由多個 TaskTracker 執行,其運算流程如圖3-4所示。原資料經過分割成較小資料後,分 配至不同節點作為輸入資料,由各節點執行 Map 任務:依運算需求將小資料之

內容進行運算處理,並針對每一運算結果值(value)給予一鍵 (key),由此得到各 式鍵值對<key, value>。之後執行 Reduce 任務,將所有小資料中具有相同 key 之 value 集合彙整於不同節點,經運算處理後再形成新的結果與鍵值對,並輸出為 最終運算結果。透過此種分散式運算方式可達到資料快速運算處理,進行大數據 資料挖掘、分析與預測。

本研究採用紐西蘭 Waikato 大學所發展出的資料探勘免費應用軟體 Weka (Data Mining Software in Java, 2004)結合 Hadoop 平台作為大數據資料分析工具,

建立全開放資源之分析模式。Weka 以 Java 程式語言開發而成,提供眾多資料挖 掘方法與原始碼,包含有關聯性分析(associate analysis)、分類(classification)、分 群(clustering)等資料挖掘方法,本研究以能夠進行資料分類與歸納、快速建構模 型且提供易於理解規則之分類演算法-決策樹(Decision Tree, DT)作為資料數據分 析方法。

圖3-2 HDFS 分散式檔案系統架構示意圖

資料來源:本研究計畫成果。

圖3-3 MapReduce 分散式運算架構示意圖 資料來源:本研究計畫成果。

圖3-4 MapReduce 運算原理示意圖

資料來源:國家高速網路與計算中心。