天天看點

當Hadoop SQL工具與大資料架構攜手同行

目前,sql-on-hadoop的采用率仍然偏低,但是其發展似乎是與hadoop本身的采用有着相似的步調。2015年由it研究和教育機構tdwi進行的一項對新興技術的調查證明了這一結論。

在320位受訪者中隻有16%的人表示他們所在的企業正在使用商業sql-on-hadoop引擎作為商業智能或分析應用程式的一部分; 344位受訪者中有22%的人說hadoop sql技術正用于管理資料。在後一種情況中,部署水準與前一種是接近的,而這也符合調查當時以及計劃三年内的情況,這表明大多數hadoop使用者同樣實作了sql-on-hadoop工具(見下表)。

當Hadoop SQL工具與大資料架構攜手同行

progressive casualty insurance co是使用者之一,在2013年開始運作hadoop叢集來處理和分析從客戶的汽車收集的遠端資訊技術資料,這是基于使用情況的汽車保險項目的一部分,該項目叫做snapshot(快照);該叢集是基于hortonworks公司的hadoop分布式環境,它同樣支援對用于保險産品定價的資料,以及來自progressive網站的活動日志進行研究和開發。

大部分分析查詢、提取、轉換和加載(etl)內建過程是針對叢集中的資料執行的,而這些過程是由一款開源sql-on-hadoop工具hive建立的。“progressive的業務分析師和資料科學家已經是重度sql使用者,是以我們想要讓提供給他們的資料結構保持不變,”該公司資料和分析部門的主管pawan divakarla說,“我們擁有的整個業務社群都在使用資料,而讓他們去學習别的東西是沒有意義的。”

光有hive是不夠的 chris barendt是一名it架構師,他說progressive在部署hive的早期遇到了一些問題,但是該技術如今變得更加穩定而且滿足使用者的大部分需求。但是要幫助提升hive的性能讓它能夠支援互動式查詢,俄亥俄州的mayfield village保險公司用tez對hadoop sql引擎進行了增強,tez是一款開源應用程式架構,它起源于hortonworks并且是用來優化hadoop系統中的資料處理吞吐量的。

同樣,大多數progressive的資料分析師通過tableau的bi軟體或hue來和hive協同工作,而hue最初是由hadoop供應商cloudera 公司開發的一款用于web應用程式的使用者界面。隻有某些有能力的使用者直接在hive中用指令行sql編碼,barendt說。 線上約會服務商zoosk公司将hive的結合體用于etl,并将cloudera的impala sql查詢軟體用于分析,同時也在前端使用hue和tableau來緩解資料分析師的編碼工作。這家位于舊金山的公司在2012年部署了基于cloudera的hadoop叢集,起初是用于處理大量使用者活動和其網站産生系統日志資料,然後将資訊的聚合視圖傳至一個基于microsoft sql server資料庫建構的企業級資料倉庫。

直到今年早些時候,martin lam還是zoosk分析和資料科學部門的資深主管,他說雖然在公司裡其開發人員首先仍然是嘗試在hadoop的原始處理環境——mapreduce上進行程式設計。但是這要比使用sql花費更多的時間。使用mapreduce要用幾個小時來編寫和測試一項任務,而用sql則隻需要幾分鐘。zoosk緊接着便實作了hive來支援在叢集中處理etl。盡管如此,hadoop sql工具對于支援資料的随機分析非常緩慢。是以,“我們并不将hadoop作為分析平台,”

lam說。 hadoop sql中的天作之合? 當cloudera釋出了impala的測試版之後,情況發生了改變。zoosk簽約成為早期使用者,而且lam說查詢引擎的性能使得對原始hadoop資料的分析更為可行。 例如,他說在與parquet的結合中,zoosk于2015年中期将一種針對hadoop的柱狀存儲格式加入其大資料架構,impala能夠在網站使用者互動中在八秒内執行一項典型查詢。通過對比,如果單獨使用hive或是将hive和parquet結合使用,同樣的查詢分别會花費八分鐘和六分鐘。更快的速度同樣能夠支援額外更先進的應用程式,特别是行為比對,這旨在根據zoosk使用者對網站的使用情況來預測可能的比對。 zoosk堅持在etl上使用hive,然而為了處理每天從網站抓取的數百萬資料記錄,叢集中資訊的輸入量已經達到大約200tb。“impala可以提供很快的速度,但是如果你不加小心的話,它是不可預測的,”lam說,而使用hive則能夠保證更容易地完成一項工作。” impala仍然缺少某些标準sql功能,包括支援擴充标記語言和javascript object notation函數以及類似映射和數組的非數值類型。“但是這一差距正逐漸縮小,”lam說,他如今在facebook工作。“對于大部分分析用例,你是能夠獲得通過的。”

這同樣适用于apache spark處理引擎的spark sql子產品,benny blum說,他是sellpoints公司産品和資料部門的副總,這是一家位于加利福尼亞州emeryville的線上營銷和廣告公司,其對etl的處理使用的就是spark sql。 blum說:“如今有些事情我無法用spark sql來完成,随着開發工作的進行,你肯定認為你處在一種語言的前沿。”但另一方面,他指出sellpoints所能看到的用spark sql的查詢速度遠遠高于六至八個月之前的水準,”這要得益于對sql技術的改進以及公司對于spark整體更為有效的利用。

====================================分割線================================

本文轉自d1net(轉載)