您好,登錄后才能下訂單哦!
這篇文章主要介紹“hive-0.12的安裝步驟”,在日常操作中,相信很多人在hive-0.12的安裝步驟問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”hive-0.12的安裝步驟”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
(安裝會有版本問題 hadoop1.0版本以上的請安裝hive-0.90測試
hadoop2.0以上請安裝hive-0.12.0或者最新版測試)
hive-0.9.0 下載地址:http://pan.baidu.com/s/1rj6f8
hive-0.12.0下載地址:http://mirrors.hust.edu.cn/apache/hive/hive-0.12.0/
#cd /usr/local
#tar -zxvf hive-0. 12.0.tar.gz
#mv hive-0. 12.0 hive
修改/etc/profile文件。
#vi /etc/profile
增加
export HIVE_HOME=/hadoop/hadoop/hive
修改
exportPATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin
保存退出
#source /etc/profile
l cd $HIVE_HOME/conf
l mv hive-env.sh.template hive-env.sh
l mv hive-default.xml.template hive-site.xml
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/home/hadoop/hive
export HADOOP_HOME=/home/hadoop/hadoop2
啟動hive時候,記得先啟動hadoop(因為hive是操作hdfs中的數據)
jps命令查看當前啟動的java程序
#hive
[FatalError] hive-site.xml:2002:16: The element type "value" must beterminated by the matching end-tag "</value>".
2002 <value>auth</auth>
(在2002行第16字符那里: <value>auth</value>)
hive>show tables;
此時還報錯:
FAILED:Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.java.lang.RuntimeException: Unable to instantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient
最后將hive-site.xml 里面hive.metastore.schema.verification 的值改為 false后,就沒出現錯誤了。
hive>create table test(idint,name string);
hive>quit;
方法一:觀察:#hadoop fs -ls /user/hive
參數:hive.metastore.warehouse.dir
方法二:
http://cloud4:50070 如果配置成功,查看/user/hive就存在
l metastore是hive元數據的集中存放地。metastore默認使用內嵌的derby數據庫作為存儲引擎
l Derby引擎的缺點:一次只能打開一個會話
l 使用Mysql作為外置存儲引擎,多用戶同時訪問
所以我們通常建議使用mysql,但是需要去配置
l #mysql -uroot -padmin
l mysql>create database hive;
l mysql>GRANT all ON hive.* TO root@'%' IDENTIFIED BY 'admin';
l mysql>flush privileges;
l mysql>set global binlog_format='MIXED'; (如果報錯就不要管)
方法1:手動命令:(此處hive為數據庫名)
alter database hive character set latin1
<property>
<name>javax.jdo.option.ConnectionURL</name>
//hadoop0那么是hive所在的機子,要么是網關ip cloud4:本機;192.168.56.1網關ip
如果用hive的機子,也就是本機,需要在linux上安裝mysql,看下面補充msql安裝流程
不過好像如果是cloud4會show tables出錯,改為localhost就好了!!!
<value>jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>admin</value>
</property>
1:直接輸入#/hive/bin/hive的執行程序,
2:或者輸入 #hive --service cli
l 分為本地與集群兩種
我們可以通過mapred.job.tracker 來指明
設置方式:
hive > SET mapred.job.tracker=local
l 1、hive web界面的(端口號9999) 啟動方式
#hive --service hwi &
用于通過瀏覽器來訪問hive
http://hadoop0:9999/hwi/
l 2、hive 遠程服務(端口號10000) 啟動方式
#hive --service hiveserver &
l 基本數據類型
tinyint/smallint/int/bigint
float/double
boolean
string
? 復雜數據類型
Array/Map/Struct
? 沒有date/datetime
l Hive的數據存儲基于Hadoop HDFS
l Hive沒有專門的數據存儲格式
l 存儲結構主要包括:數據庫、文件、表、視圖
l Hive默認可以直接加載文本文件(TextFile),還支持sequence file
l 創建表時,指定Hive數據的列分隔符與行分隔符,Hive即可解析數據
l 類似傳統數據庫的DataBase
l 默認數據庫"default">
使用#hive命令后,不使用hive>use <數據庫名>,系統默認的數據庫。
可以顯式使用hive> use default;
創建一個新庫
hive > create database test_dw;
warehouse是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir}指定的數據倉庫的目錄
我們可以把value修改為:/hive
l 每一個 Table 在 Hive 中都有一個相應的目錄存儲數據。例如,一個表 test,它在HDFS 中的路徑為:/ warehouse/test。
l 所有的 Table 數據(不包括 ExternalTable)都保存在這個目錄中。
l 刪除表時,元數據與數據都會被刪除
l 常用操作
l 創建數據文件t1.dat
l 創建表
l hive>create table t1 (key string);
l 加載數據
l hive>load data local inpath '/root/inner_table.dat' into table t1;
l 查看數據
l select * from t1
l select count(*) from t1
l 刪除表 drop table t1
到此,關于“hive-0.12的安裝步驟”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。