Hive安裝绸吸、配置和測試

Hive概述

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表设江,并提供類SQL查詢功能惯裕。
Hive本質(zhì)是:將HQL轉(zhuǎn)化成MapReduce程序。
Hive處理的數(shù)據(jù)存儲在HDFS中绣硝,分析數(shù)據(jù)底層的實現(xiàn)可以是MapReduce蜻势、tes或者Spark,其執(zhí)行程序運行在Yarn上鹉胖。

Hive優(yōu)缺點

優(yōu)點:

  • 使用簡單握玛,類SQL語法易于使用。
  • 可擴展性甫菠,可以隨時擴展集群規(guī)模挠铲。
  • 延展性,支持自定義函數(shù)寂诱。
  • 無需開發(fā)MapReduce程序拂苹。

缺點:

  • 效率低延遲高,對處理大數(shù)據(jù)有優(yōu)勢痰洒。
  • 不支持記錄級別的增刪改操作瓢棒。
  • 不支持事物。
  • 調(diào)優(yōu)困難丘喻。

Hive安裝

只在集群中的主節(jié)點服務(wù)器中進行安裝配置即可脯宿,安裝包可以去官方主頁https://hive.apache.org/進行下載:

HIve安裝01.png

使用Xftp將安裝包上傳到hadoop-1的/usr目錄下:
Hive安裝02.png

進入/user目錄,使用tar命令將壓縮包進行解壓泉粉,執(zhí)行命令:

# tar zxvf apache-hive-2.3.6-bin.tar.gz

解壓完成后會在/usr目錄下生成apache-hive-2.3.6-bin目錄:


Hive安裝03.png

使用vim編輯環(huán)境變量:

# vim /etc/profile

新增內(nèi)容如下:

export HIVE_HOME=/usr/apache-hive-2.3.6-bin
export PATH=$HIVE_HOME/bin:$PATH
Hive安裝04.png

保存退出连霉,榴芳,執(zhí)行命令使修改生效:

# source /etc/profile

Hive配置

使用如下命令,在HDFS中創(chuàng)建/root/hive和/root/hive/warehouse兩個目錄:

# hadoop fs -mkdir -p /root/tmp
# hadoop fs -mkdir -p /root/hive/warehouse
Hive安裝05.png

使用如下命令,為目錄賦予權(quán)限:

# hadoop fs -chmod a+w /root/tmp
# hadoop fs -chmod a+w /root/hive/warehouse

hive-site.xml文件配置

使用如下命令,進入Hive配置文件目錄嘁灯,查看文件:

# cd /usr/apache-hive-2.3.6-bin/conf
# ll
Hive安裝06.png

現(xiàn)在沒有hive-site.xml文件汇陆,使用如下命令,拷貝hive-default.xml.template文件為hive-site.xml文件:

# cp hive-default.xml.template hive-site.xml
Hive安裝07.png

使用vim編輯hive-site.xml文件:

# vim hive-site.xml
Hive安裝08.png

將配置文件中的內(nèi)容做如下更改:

  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/root/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
  </property>
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/root/tmp</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/metastore_db?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>Username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>Password@123!</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>true</value>
    <description>
      Enforce metastore schema version consistency.
      True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automatic
            schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
            proper metastore schema migration. (Default)
      False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
  </property>

然后將該配置文件中的所有${system:java.io.tmpdir}替換為/usr/apache-hive-2.3.6-bin/tmp;
將所有的${system:user.name}替換為root。
使用如下命令,在/usr/apache-hive-2.3.6-bin目錄下創(chuàng)建tmp目錄谍夭,并賦予權(quán)限:

# mkdir /usr/apache-hive-2.3.6-bin/tmp
# chmod a+w /usr/apache-hive-2.3.6-bin/tmp
Hive安裝09.png

hive-env.sh文件配置

使用如下命令,拷貝hive-env.sh.template文件為hive-env.sh文件:

# cp hive-env.sh.template hive-env.sh

使用vim編輯hive-env.sh文件:

# vim hive-env.sh

添加Hadoop的安裝路徑:

HADOOP_HOME=/usr/hadoop-2.7.7
Hive安裝10.png

添加數(shù)據(jù)庫驅(qū)動包

由于Hive默認(rèn)使用derby數(shù)據(jù)庫存儲元數(shù)據(jù)憨募,只能單一訪問(不能同時打開兩個Hive客戶端)紧索,所以此處使用本機安裝的MySQL 5.7數(shù)據(jù)庫,前文已經(jīng)記錄MySQL的安裝(前文連接:http://www.reibang.com/p/a40c70791cb5)菜谣,所以將數(shù)據(jù)庫連接的驅(qū)動包放到/usr/apache-hive-2.3.6-bin/lib目錄下:

Hive安裝11.png

Hive使用

使用Hive前珠漂,保證Hadoop和MySQL數(shù)據(jù)庫已經(jīng)啟動完成狀態(tài)。
執(zhí)行如下命令尾膊,進行MySQL的初始化(只需安裝配置完畢首次使用執(zhí)行):

# schematool  -initSchema -dbType mysql 
Hive安裝12.png

登錄數(shù)據(jù)庫媳危,使用如下命令進行查詢:

> show databases;

可以看到在hive-site.xml中配置的數(shù)據(jù)庫metastore_db已經(jīng)創(chuàng)建:


Hive安裝13.png

使用如下命令進行數(shù)據(jù)庫metastore_db的表查詢:

> use metastore_db;
> show tables;

可以查詢到初始化數(shù)據(jù)庫生成的Hive相關(guān)的表:


Hive安裝14.png

使用如下命令進入Hive:

# hive
Hive安裝15.png

Hive測試

查看數(shù)據(jù)庫:

> show databases;

創(chuàng)建數(shù)據(jù)庫:

> create database testhive;

進入某數(shù)據(jù)庫:

> use testhive;

顯示某數(shù)據(jù)庫的表信息:

> show tables;

創(chuàng)建數(shù)據(jù)庫表:

> create table testtable(id int,name string,age int) row format delimited fields terminated by ' ' lines terminated by '\n';

查看數(shù)據(jù)庫表結(jié)構(gòu):

> desc testtable;

刪除某數(shù)據(jù)庫:

> drop database if exists testhive;

Hive加載本地文件數(shù)據(jù),在/home目錄下創(chuàng)建一個test.txt文件冈敛,寫入以下內(nèi)容:

1 Dcl_Snow 18
2 Dcl 19
3 Snow 20

執(zhí)行如下命令待笑,將文件中的數(shù)據(jù)加載到testhive數(shù)據(jù)庫中的testtable表中:

> load data local inpath '/home/test.txt' into table testhive.testtable;

查看表中數(shù)據(jù):

> select * from testhive.testtable;

Hive安裝16.png


建表時的分隔符,換行符抓谴,都要與test.txt中數(shù)據(jù)的分隔符和換行符相同暮蹂,否則查詢表數(shù)據(jù)時,會顯示數(shù)據(jù)都是NULL癌压。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仰泻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子滩届,更是在濱河造成了極大的恐慌集侯,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帜消,死亡現(xiàn)場離奇詭異棠枉,居然都是意外死亡,警方通過查閱死者的電腦和手機券犁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門术健,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粘衬,你說我怎么就攤上這事。” “怎么了稚新?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵勘伺,是天一觀的道長。 經(jīng)常有香客問我褂删,道長飞醉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任屯阀,我火速辦了婚禮缅帘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘难衰。我一直安慰自己钦无,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布盖袭。 她就那樣靜靜地躺著失暂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鳄虱。 梳的紋絲不亂的頭發(fā)上弟塞,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音拙已,去河邊找鬼决记。 笑死,一個胖子當(dāng)著我的面吹牛倍踪,可吹牛的內(nèi)容都是我干的霉涨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惭适,長吁一口氣:“原來是場噩夢啊……” “哼笙瑟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起癞志,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤往枷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凄杯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體错洁,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年戒突,在試婚紗的時候發(fā)現(xiàn)自己被綠了屯碴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡膊存,死狀恐怖导而,靈堂內(nèi)的尸體忽然破棺而出忱叭,到底是詐尸還是另有隱情,我是刑警寧澤今艺,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布韵丑,位于F島的核電站,受9級特大地震影響虚缎,放射性物質(zhì)發(fā)生泄漏撵彻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一实牡、第九天 我趴在偏房一處隱蔽的房頂上張望陌僵。 院中可真熱鬧,春花似錦创坞、人聲如沸碗短。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豪椿。三九已至,卻和暖如春携栋,著一層夾襖步出監(jiān)牢的瞬間搭盾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工婉支, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸯隅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓向挖,卻偏偏與公主長得像蝌以,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子何之,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文是對Hive組件的學(xué)習(xí)的一個初步總結(jié)跟畅,包括如下章節(jié)的內(nèi)容: Hive是什么 Hive安裝 快速上手 Hive元...
    我是老薛閱讀 1,924評論 1 23
  • 背景 因項目需要,想把遠程服務(wù)器上的數(shù)據(jù)(Hadoop數(shù)據(jù)庫)導(dǎo)入本地mysql溶推,所以需要在本地服務(wù)器上搭建Had...
    Boooooge閱讀 1,019評論 0 3
  • 一徊件、Hive簡介 什么是HiveHive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)...
    鵝鵝鵝_閱讀 2,253評論 0 4
  • 摘要:大數(shù)據(jù)門檻較高蒜危,僅僅環(huán)境的搭建可能就要耗費我們大量的精力虱痕,本文總結(jié)了作者是如何搭建大數(shù)據(jù)環(huán)境的(單機版和集群...
    楊赟快跑閱讀 15,036評論 3 65
  • 1、 下載hive:wget https://mirrors.tuna.tsinghua.edu.cn/apach...
    linjiajiam閱讀 2,565評論 0 0