Hive介紹, 快速入門(mén)

Hive是什么

Hive是Hadoop生態(tài)系統(tǒng)中一個(gè)重要的框架.

Hive是建立在HDFS儲(chǔ)存系統(tǒng)之上的數(shù)據(jù)查詢(xún), 統(tǒng)計(jì), 分析框架,?對(duì)應(yīng)的大數(shù)據(jù)生態(tài)中的分析模塊, 而非儲(chǔ)存模塊.

Hive是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,? 通過(guò)類(lèi)SQL => HQL 查詢(xún)語(yǔ)句, 管理已經(jīng)存在HDFS上的大型數(shù)據(jù)集.

Hive可以根據(jù)已經(jīng)儲(chǔ)存的數(shù)據(jù), 建立表結(jié)構(gòu), 指定映射關(guān)系, 用戶(hù)可以使用一個(gè)命令行工具和JDBC驅(qū)動(dòng)方式連接Hive.

能做什么

統(tǒng)計(jì), 查詢(xún), 分析儲(chǔ)存在HDFS上的海量數(shù)據(jù).

不能做什么

Hive不是一個(gè)關(guān)系型數(shù)據(jù)庫(kù), 不能進(jìn)行 OLTP(online transaction processing) 在線(xiàn)事務(wù)處理?

不支持實(shí)時(shí)查詢(xún) 以及 行級(jí)更新(由于HDFS只支持追加寫(xiě), 不支持隨機(jī)寫(xiě))

特點(diǎn)

僅儲(chǔ)存schema(metadata)在關(guān)系型數(shù)據(jù)庫(kù)中, 真正的數(shù)據(jù)存在HDFS上

支持OLAP(online analysis processing)

支持類(lèi)SQL查詢(xún)語(yǔ)言 => HQL

通用, 快速(對(duì)于海量數(shù)據(jù)), 可擴(kuò)展

缺點(diǎn)

(1) hive的hql表達(dá)能力有限

????①迭代式算法無(wú)法表達(dá)

????②數(shù)據(jù)挖掘方面不擅長(zhǎng)

(2) Hive的效率比較低

????①hive自動(dòng)生成的mapreduce程序, 通常情況下不夠智能(慢)

????②調(diào)優(yōu)困難, 粒度較粗

快速搭建


(1) 安裝地址?http://hive.apache.org/

(2) 部署

????① 把a(bǔ)pache-hive-1.2.1-bin.tar.gz上傳到linux的/opt/software目錄下

????② 解壓apache-hive-1.2.1-bin.tar.gz到/opt/module/目錄下面

$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

? ? ③?修改apache-hive-1.2.1-bin.tar.gz的名稱(chēng)為hive

$ mv apache-hive-1.2.1-bin/ hive

? ? ④ 修改/opt/module/hive/conf目錄下的hive-env.sh.template名稱(chēng)為hive-env.sh

$ mv hive-env.sh.template hive-env.sh

? ? ⑤ 配置hive-env.sh文件

? ? ? ? 配置HADOOP_HOME路徑和HIVE_CONF_DIR路徑

$?export HADOOP_HOME=/opt/module/hadoop-2.7.2

$?export HIVE_CONF_DIR=/opt/module/hive/conf

? ? ⑥ Hadoop集群配置

? ? ? ? 必須啟動(dòng)hdfs和yarn

$ sbin/start-dfs.sh

$ sbin/start-yarn.sh

????????在HDFS上創(chuàng)建/tmp和/user/hive/warehouse兩個(gè)目錄并修改他們的同組權(quán)限可寫(xiě)

$ bin/hadoop fs -mkdir /tmp

$ bin/hadoop fs -mkdir -p /user/hive/warehouse

$ bin/hadoop fs -chmod g+w /tmp

$ bin/hadoop fs -chmod g+w /user/hive/warehouse

快速使用

(1)啟動(dòng)hive

$bin/hive

(2)查看數(shù)據(jù)庫(kù)

hive> show databases;

(3)打開(kāi)默認(rèn)數(shù)據(jù)庫(kù)

hive> use default;

(4)顯示default數(shù)據(jù)庫(kù)中的表

hive> show tables;

(5)創(chuàng)建一張表

hive> create tablestudent(id int, name string);

(6)顯示數(shù)據(jù)庫(kù)中有幾張表

hive> show tables;

(7)查看表的結(jié)構(gòu)

hive> desc student;

(8)向表中插入數(shù)據(jù)

hive> insert into studentvalues(1000,"ss");

(9)查詢(xún)表中數(shù)據(jù)

hive> select * from student;

(10)退出hive

hive> quit;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容