跳到主要內容

科技大觀園商標

分類項目
Menu

海量資料專題報導(四):海量資料也可以拆開算–Hadoop

103/09/26 瀏覽次數 13048
Hadoop在資料分析中越來越流行,但是如何去建立並管理一個Hadoop的運算叢集系統卻讓一些沒有技術人員的公司相當頭痛,為了幫助想要直接使用Hadoop的企業免去建置Hadoop系統之麻煩與費用,Amazon率先推出了Hadoop 即服務 (Hadoop-as a service),將其稱之為Elastic MapReduce (EMR)。Amazon Elastic MapReduce (Amazon EMR)是種web服務,讓使用者透過web操作Hadoop系統分析分布在Amazon Elastic Compute Cloud (Amazon EC2)上的資料,並利用Amazon EC2的運算資源進行運算。 然現在除了Amazon外,微軟以及OpenStack將成為Amazon EMR的新對手。

 微軟和Hadoopd企業開發商Hortonworks公司合作,提供了針對Windows Azure用戶的Hortonworks Data Platform (HDP)。HDP可讓使用者在Windows和Linux的機器上建立Hadoop叢集系統,微軟整合Windows Azure和HDP即為HDInsight,系統管理員可透過PowerShell和.NET管理Hadoop。OpenStack是1個開放式的雲端作業系統,可架設在私有雲或是公有雲上,其所開發的Savanna可讓系統管理這自動佈署Hadoop叢集系統。從Aamzon、微軟、OpenStack紛紛推出Hadoop as a service的現象可看出越來越多公司需要使用Hadoop進行資料分析,究竟Hadoop有什麼樣的魅力,在海量資料的分析上又占有怎樣的重要地位?

2004年,Google Lab發表了MapReduce的演算法,可使用平行化運算進行大規模的資料分析,Google 利用 MapReuce 演算法來計算查詢索引(Search Index),讓使用者能在最短的時間內從網路上找到自己所需要的資料;但Google並未開放原始碼,因此 2006年Doug Cutting根據Google所發表的論文開發出Apache Hadoop,用1隻黃色的大象當成Hadoop的標誌。Hadoop為一個開放的軟體程式架構,包含:Hadoop Distributed File System、MapReduce以及HBase,Hadoop為目前在雲端系統上,最常被使用進行大資料量運算的軟體架構,重要性不可小覷。

MapReduce是Hadoop的運算核心架構,map就是把東西拆開分開計算,reduce就是把最後結果合起來,例如:計算1 x 2 + 2 x 2 + 3 x 2,首先mapper會將1,2,3同時乘上2,最後再交由reducer將2,4,6此3個結果加起來,如此的計算模式可以將資料以平行化方式進行分析,分析後再統計出1個最後結果,達到加速的效果。可將MapReduce想像成執行平行化運算的工廠,工廠裡有工人「tasktracker」和工頭「jobtracker」所組成,工人「tasktracker」負責執行mapper和reducer的工作,工頭「jobtracker」則是負責分派工作給tasktracker,透過這2個元件互相溝通,MapReduce的模式可在HDFS的架構上順利執行。

Hadoop已由許多公司所採用,例如:VISA信用卡使用Hadoop技術分析信用卡交易資料避免詐欺行為;金融公司也紛紛採用Hadoop分析股票交易模型;時下最火紅的社群平台Facebook也使用Hadoop叢集系統分析使用者間的社群關係,開發出交友推薦等功能;除了分析資料外,亦透過此分散式平台達成系統可同時服務多個使用者的功能。由此可知,Hadoop漸漸在海量資料運算分析中佔有不可或缺的重要地位。(本文由科技部補助「新媒體科普傳播實作計畫─電機科技新知與社會風險之溝通」執行團隊撰稿/103年/07月)

責任編輯:黃承揚|英商牛津儀器海外行銷有限公司
OPEN
回頂部