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很適合作為半導體產線前端的預警機制,因為它同時具有強大運算速度及內建多種統計分析工具,能即時分析產線資料,也能夠做到將預測模型,運用於產線前端作為線上預警。——精誠集團首席顧問陳昭宇
熱門新聞
2024-11-29
2024-11-20
2024-11-15
2024-11-15
2024-12-19