SQL on Hadoop開源項目總結

隨着Hadoop的流行,愈來愈多的企業把數據存儲在Hadoop上,或者Non-SQL數據庫上,隨之相關的數據處理技術也從一開始的Map Reduce一統江湖,到如今各類技術競相出現。最新的趨勢是,你們廣泛但願可以快速獲得查詢結果,作交互式查詢,同時也但願傳統的BI(Business Intelligence,商務智能)工具能夠直接和基於Hadoop的大數據平臺鏈接起來,以便使用現用工具進行可視化數據分析。數據庫

SQL on Hadoop是近幾年發展起來的技術,解決了交互式查詢和SQL支持的問題。下文總結了一些這個領域的開源項目,供參考。若有具體問題或任何反饋,歡迎聯繫做者本人:boyang798@gmail.com。緩存

項目名稱 技術特色 主導公司
Apache Hive 支持原生Hadoop數據存儲和訪問,存儲數據schema等metadada信息,提供類SQL的數據查詢語言 初期由Facebook開發,如今被Hadoop社區普遍接受
Apache Spark 將Map Reduce緩存在內存中執行(RDD,Resilient Distributed Datasets),使用多級有向圖來優化查詢執行。Spark SQL支持JDBC和ODBC Databricks
Cloudera Impala 使用C/C++實現的基於Hadoop的數據查詢層,用戶量比較大,與現有BI工具集成比較好 Cloudera
Stinger Initiative 基於Hive的性能優化和提高,與Hadoop結合比較緊密 Hortonworks
Apache Drill 以Google Dremel論文爲基礎,全新實現的數據查詢層,不依賴Hadoop,支持schema free的數據查詢。支持JDBC和ODBC MapR
Presto 分佈式SQL查詢執行引擎,支持多種數據源,可擴展性比較好。支持JDBC 初期由Facebook開發,如今Netflix也是積極用戶和貢獻者
Apache Phoenix 基於Apache HBase的關係型數據庫層。支持JDBC 初期由Salesforce開發,如今被多家公司使用和共同開發
Apache Kylin 基於Apache HBase的OLAP,使用OLAP Cube技術作多維數據預計算和聚合。支持JDBC 由ebay開發
Apache Tajo 基於Hadoop的數據倉庫和SQL數據查詢執行引擎。支持JDBC 由Database Lab., Korea University開發
Cascading Lingual 基於Hadoop的SQL數據查詢執行引擎。支持JDBC 由Cascading和Optiq開源社區開發
Dato (GraphLab) 嚴格意義上不屬於SQL on Hadoop,可是其有特殊的技術,因此值得一提。基於C++實現的數據存儲和分析工具,初期是Graph Base的數據存儲和查詢技術,主要用於機器學習。如今也擴展爲通用的大數據分析和處理平臺。 GraphLab由Carnegie Mellon University的Carlos Guestrin教授發起,如今更名爲Dato,由dato.com公司主導

以上各個項目各有特色和優缺點,目前沒有一家能夠統一整個SQL on Hadoop市場,而且各自都仍在發展和演進之中。用戶須要根據本身的特定應用場景和技術領域選擇合適的工具。性能優化


掃描微信二維碼聯繫做者
掃描微信二維碼聯繫做者微信

相關文章
相關標籤/搜索