曾協助臺灣多家半導體廠建置Hadoop 平臺的亦思科技系統發展處處長江孟峰表示,臺灣半導體產業開始導入Hadoop工具,是要解決大量資料儲存及運算問題,因為要具有能儲存大量機臺資料與在短時間能從龐大資料找出查詢條件資料的能力,才能拿來分析應用。

圖片來源: 

iThome

隨著Hadoop大資料分析平臺發展逐漸成熟,為解決大量製程資料的難題,不少家臺灣半導體廠也都開始導入Hadoop技術應用,來提供製程良率的改善,甚至發展出更多的半導體大資料分析應用。

曾協助臺灣多家半導體廠建置Hadoop平臺的亦思科技系統發展處處長江孟峰表示,半導體發展大資料分析是一個趨勢,更是一個演進過程。以臺灣半導體龍頭台積電來說,是最早導入Hadoop技術的臺灣半導體大廠,儘管其他半導體廠導入Hadoop時間有快有慢,但目的都是要透過Hadoop平臺,來尋找能夠深入分析龐大機臺製程資料的解決方案,找出提高生產良率的關鍵。

Hadoop工具加快分析時間,從1星期縮短至幾小時

臺灣半導體產業開始投入Hadoop工具的時間,大約是在2008~2009年左右,因為江孟峰說,對半導體廠而言,必須先具有能隨時儲存大量機臺資料的能力,其次更要能在短時間從這些龐大資料中找出所要查詢條件的資料,然後才能拿來分析應用。

江孟峰也解釋,過去半導體廠大多採用傳統的關聯式資料庫來分析儲存資料,因為受到容量限制,如果資料量一多,就得先將資料切成好幾段分開運算,等算完後再把結果合併來看,因此,有時光是分析資料,就可能要花一個星期才能找到問題。

但在Hadoop環境下,江孟峰也說,現在靠著Hadoop分散式運算架構,已經可做到把所蒐集來的資料,通通擺在一起算,幾個小時內就可以分析出結果,不只是節省時間也能用來運算更複雜的分析組合。

然而,就整個Hadoop生態系的工具來看,運用在處理大量資料和雜亂資料都能處理得宜,但在即時分析的處理上,則一直缺乏好的解決方案,江孟峰指出,Hadoop平臺因為受限於技術及架構限制,一般都運用在離線或批次分析,主要在解決資料量多的問題,但不同於即時分析強調能即時分析出結果,江孟峰也說,Hadoop所稱的即時,一般指的是接近即時(Near Real-Time),而非真正的即時。

精誠集團首席顧問陳昭宇觀察到,隨著大資料技術的發展,半導體廠不再只想著要將機臺資料拿來後端分析來找問題,像是為了即時監測線上機臺發生的製程問題,陳昭宇也說,台積電晶圓廠也採用線上良率監控與分析系統,其作法就是把機臺資料通通儲存到HBase資料庫,然後在產線前端即時去偵測生產線上發生的變化,經過分析一旦發現某機臺製程的參數有變異時,就能馬上進行處置。

台積電用HBase來做為線上即時監控

陳昭宇說,台積電大約是在2010年~2011年時,自行導入HBase架構。在當時的Hadoop平臺,HBase是唯一具有即時分析能力的大資料工具。HBase其實是一種NoSQL資料庫,一般拿來使用於蒐集機臺產生的Log資料,不同於傳統關聯式資料庫,HBase在存儲資料時,不需要受限固定的表格模式即可寫入資料,再加上採用可擴充架構,在處理大量資料時,比起傳統資料庫擁有更好的效能,甚至在成本上,因為採用開源技術也能降低成本。

不過,陳昭宇也坦承,HBase本身因為並無SQL語言查詢介面,所以很多導入HBase的企業,都需要自行寫程式以彌補資料查詢功能,此外,HBase本身也存在不穩定因素,像是可能因為資料模型架構(Schema)沒有設計好,以致於在分析資料時,可能造成大部分的資料查詢和寫入都擠在同一個儲存節點上。然而,除了HBase可以提供半導體業作為即時分析使用外,這1~2年間也逐漸發展出新的大資料即時分析技術,分別是Spark和Impala,目的就是為了要解決Hadoop即時分析的不足。

新即時分析技術,分析資料皆在記憶體內運算

陳昭宇指出,Spark和Impala的出現,讓Hadoop的生態系有別於過往,Spark和Impala這兩個即時分析技術有個共同的特色,就是都採用記憶體內運算(In-Memory Computing)技術,尤其Spark還可以在資料尚未寫進硬碟時,就開始進行運算,甚至透過Spark的串流處理套件(Spark Streaming),也能即時處理串流資料。

HBase與Spark的最大差異在於, HBase仍被當成一個資料庫來使用,每當要進行資料分析或取出來運算時,基本上還是得從HBase中取出資料,然後才拿來做分析運算。

Spark比MapReduce運算速度快上百倍

然而,Spark因為有使用了記憶體內叢集運算(In-Memory Cluster Computering)技術,可以將蒐集到的資料直接就在記憶體上運算,即便是一個階段運算完後,資料也仍存放記憶體中,繼續等待下一階段分析載入運算,而如果要做資料長期保存或分析,也能將記憶體中的資料,再存放到硬碟裡。

陳昭宇指出,Spark直接就能在記憶體內運算,因此速度上比起用MapReduce的硬體運算至少快上百倍,甚至,如果將Spark與HBase、HDFS等資料儲存叢集結合後,也能把這些資料儲存叢集的資料,放進記憶體裡做分析運算。

另一個即時分析技術Impala,則是由Hadoop廠商Cloudera推出的,它實現了大規模平行處理(Massively Parallel Processing,MPP)架構。在Impala技術出現之前,Hadoop平臺上並無類似MPP架構的開源分析軟體,在Impala問世後,對於必須使用MPP架構才能處理的大資料分析應用, 無疑是新的資料庫選擇。陳昭宇也指出,Impala性質其實比較接近資料庫,使用方式跟資料庫非常像,也是使用SQL查詢語言,所以對於熟悉傳統資料庫的使用者,導入的門檻障礙也比較低。

至於Spark則是以Scala語言開發,儘管也有推出一個Spark SQL套件,可提供類似像SQL語言的功能,不過目前在SQL支援的完整度上,陳昭宇認為,Spark仍不如Impala成熟。但是,在即時分析效能表現上,Spark可直接在資料寫入記憶體時就拿來分析運算,效能自然是快很多。Impala得先將資料寫入硬碟,分析時再提取至記憶體執行運算,因此Impala即時性仍比Spark慢一些。

以Spark而言,陳昭宇也說,適合拿來實現半導體產線前端的線上預警機制,以往在傳統架構上,即便是先透過離線分析方法找到預測模型,也很難直接拿到產線前端應用,但在Spark架構下,因為同時具備有強大的運算速度,加上內建多種統計分析工具,能即時分析產線資料,因此,現在也能做到將預測模型運用於產線前端,作為線上預警之用。

由於Spark和Impala技術是在2010年才開始受到外界矚目,一直到最近這1~2年才漸漸發展起來,因此,對於半導體廠來說,現在大多仍處於技術評估階段,尚未有看到實際應用導入,但陳昭宇也認為,Spark和Impala的即時分析技術,未來幾年將成為引領大資料技術發展的新趨勢。

 

Spark很適合作為半導體產線前端的預警機制,因為它同時具有強大運算速度及內建多種統計分析工具,能即時分析產線資料,也能夠做到將預測模型,運用於產線前端作為線上預警。——精誠集團首席顧問陳昭宇

 


相關報導請參考「半導體前進大資料」


Advertisement

更多 iThome相關內容