Apache Drill加快Hadoop查詢
為了幫助企業(yè)用戶尋找更為有效、加快Hadoop數(shù)據(jù)查詢的方法,Apache 軟件基金會發(fā)起了一項名為“Drill”的開源項目。Apache Drill 實現(xiàn)了 Google's Dremel.
Apache Drill 在基于 SQL 的數(shù)據(jù)分析和商業(yè)智能(BI)上引入了 JSON 文件模型,這使得用戶能查詢固定架構(gòu),演化架構(gòu),以及各種格式和數(shù)據(jù)存儲中的模式無關(guān)(schema-free)數(shù)據(jù)。該體系架構(gòu)中關(guān)系查詢引擎和數(shù)據(jù)庫的構(gòu)建是有先決條件的,即假設(shè)所有數(shù)據(jù)都有一個簡單的靜態(tài)架構(gòu)。
Apache Drill 的架構(gòu)師獨一無二的。它是唯一一個支持復(fù)雜和無模式數(shù)據(jù)的柱狀執(zhí)行引擎(columnar execution engine),也是唯一一個能在查詢執(zhí)行期間進行數(shù)據(jù)驅(qū)動查詢(和重新編譯,也稱之為 schema discovery)的執(zhí)行引擎(execution engine)。這些獨一無二的性能使得 Apache Drill 在 JSON 文件模式下能實現(xiàn)記錄斷點性能(record-breaking performance)。
該項目將會創(chuàng)建出開源版本的谷歌Dremel Hadoop工具(谷歌使用該工具來為Hadoop數(shù)據(jù)分析工具的互聯(lián)網(wǎng)應(yīng)用提速)。而“Drill”將有助于Hadoop用戶實現(xiàn)更快查詢海量數(shù)據(jù)集的目的。
數(shù)據(jù)結(jié)構(gòu):
兼容已有的 SQL 環(huán)境和 Apache Hive:
“Drill”項目其實也是從谷歌的Dremel項目中獲得靈感:該項目幫助谷歌實現(xiàn)海量數(shù)據(jù)集的分析處理,包括分析抓取Web文檔、跟蹤安裝在Android Market上的應(yīng)用程序數(shù)據(jù)、分析垃圾郵件、分析谷歌分布式構(gòu)建系統(tǒng)上的測試結(jié)果等等。
通過開發(fā)“Drill”Apache開源項目,組織機構(gòu)將有望建立Drill所屬的API接口和靈活強大的體系架構(gòu),從而幫助支持廣泛的數(shù)據(jù)源、數(shù)據(jù)格式和查詢語言。
Drill 查詢:
Drillbit 核心模型:
Drill 編譯器:
