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