【Hive】Hive 基礎

Hive架構:html

Hive基礎
1 概念
1.1 簡介
1.1.1 hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表, 並提供簡單的sql查詢功能,能夠將sql語句轉換爲MapReduce任務進行運行。--OLAP
1.2 背景
1.2.1 OLAP邏輯和SQL同樣大致一致,能夠將這些邏輯轉化爲對應的MR,不須要每種類型的查詢分析都重複寫MR
1.2.2 Facebook開發通用的MR程序框架,對外使用SQL接口,框架就是Hive
1.3 官網
1.3.1 http://hive.apache.org/
1.4 原理
1.4.1 建表
1.4.1.1 Hive保存元數據
1.4.1.1.1 能夠使用MySQL
1.4.1.2 指定HDFS文件路徑
1.4.2 SQL查詢
1.4.2.1 Compiler編譯器匹配MR模板,生成MR實例
1.4.2.2 MR執行器
1.4.2.2.1 提交運行MR,返回輸出
1.4.3 問題
1.4.3.1 Hive採用的方法是將SQL查詢轉化成MapReduce任務,這致使Hive的性能不好。 並且,Hive只能支持不到30%的SQL分析功能
1.5 同類產品
1.5.1 Impala
1.5.1.1 使用MPP並行數據庫思想,徹底拋棄了MapReduce這個不太適合作SQL查詢的範式。 比基於MapReduce的HiveSQL查詢速度提高3~30倍。支持HDFS、HBASE做爲存儲引擎。
1.5.1.2 http://baike.baidu.com/link?url=wjJdGGrc150Mjrw_JX53P8aEdLOtVwi7hO6P31CKjAmq 2v7P6mEVkRLLLuyvQXI7p_GUsN3du2jF4detmY1t-q
1.5.1.3 http://www.ctocio.com/bigdata/9236.html
1.5.2 Drill
1.5.2.1 Impala僅支持CDH,Drill構建在Hadoop通用版本之上
1.5.3 Spark Shark
1.5.3.1 Shark爲了實現Hive兼容,在HQL方面重用了Hive中HQL的解析、邏輯執行計劃翻譯、 執行計劃優化等邏輯,能夠近似認爲僅將物理執行計劃從MR做業替換成了Spark做業
1.5.3.2 http://zhidao.baidu.com/link?url=KsaLI5bexln9hVHFp4mABsq2xSpwdllf89-sGZlwz1lAoUo OPMJwGgS0w-eaHOVbaxGYMsxbI5KjYxFRj1sv1MC_XTW0BN2hf96NF8ZdHcu
1.5.4 Spark SQL
1.5.4.1 http://www.csdn.net/article/2014-07-02/2820482-shark-spark-sql-hive-on-spark-and-the-future-of-sql-on-spark
1.5.5 Cassandra
1.5.5.1 http://baike.baidu.com/link?url=vqQi3df9gQb6pnudACgLzz6NCgRvlOvoA0mtXGDeqiawcy22yt2FTYrJkv PeRNS6uyMhvkrwmtLCb_312cmg9a
1.5.6 Presto
1.5.6.1 http://www.linuxidc.com/Linux/2015-07/119958.htm
1.5.6.2 http://prestodb-china.com/
1.5.6.3 http://blog.csdn.net/joomlaer/article/details/45889759
1.5.7 如何選擇?
1.5.7.1 http://stackoverflow.com/questions/17113964/comparing-cassandras-cql-vs-spark- shark-queries-vs-hive-hadoop-dse-version
1.5.7.2 http://blog.163.com/xiaoji0106@126/blog/static/136134661201411322353856/
1.5.7.3 http://blog.sina.com.cn/s/blog_6277623c0102vnq2.html
1.5.7.4 http://blog.chinaunix.net/uid-29242841-id-4030543.html
1.5.7.5 https://www.zhihu.com/question/41541395
相關文章
相關標籤/搜索