Hive安裝與基本操作(一)
Hive安裝地址
1.Hive官網地址
2.文件檢視地址
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
3.下載地址
http://archive.apache.org/dist/hive/
4.github地址
https://github.com/apache/hive
Hive安裝部署
1.Hive安裝及配置
(1)把apache-hive-1.2.2-bin.tar.gz上傳到linux的/opt/soft目錄下
(2)解壓apache-hive-1.2.2-bin.tar.gz到/opt/module/目錄下面
[[email protected] soft]$ tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /opt/module/
(3)修改apache-hive-1.2.2-bin.tar.gz的名稱為hive
[[email protected] module]$ mv apache-hive-1.2.2-bin/ hive
(4)修改/opt/module/hive/conf目錄下的hive-env.sh.template名稱為hive-env.sh
[[email protected] conf]$ mv hive-env.sh.template hive-env.sh
(5)配置hive-env.sh檔案
(a)配置HADOOP_HOME路徑
export HADOOP_HOME=/opt/module/hadoop-2.7.2
(b)配置HIVE_CONF_DIR路徑
export HIVE_CONF_DIR=/opt/module/hive/conf
2.Hadoop叢集配置
(1)必須啟動hdfs和yarn
[[email protected]hadoop-2.7.2]$ sbin/start-all.sh
(2)在HDFS上建立/tmp和/user/hive/warehouse兩個目錄並修改他們的同組許可權可寫
[[email protected] hadoop-2.7.2]$ bin/hadoop fs -mkdir /tmp [[email protected] hadoop-2.7.2]$ bin/hadoop fs -mkdir -p /user/hive/warehouse [[email protected] hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /tmp [[email protected] hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /user/hive/warehouse
3.Hive基本操作
(1)啟動hive
[[email protected] hive]$ bin/hive
(2)檢視資料庫
hive> show databases;
(3)開啟預設資料庫
hive> use default;
(4)顯示default資料庫中的表
hive> show tables;
(5)建立一張表
hive> create table student(id int, name string);
(6)顯示資料庫中有幾張表
hive> show tables;
(7)查看錶的結構
hive> desc student;
(8)向表中插入資料
hive> insert into student values(1000,"ss");
(9)查詢表中資料
hive> select * from student;
(10)退出hive
hive> quit;
4.本地檔案匯入Hive
(1)在/opt/module/目錄下建立datas
[[email protected] module]$ mkdir datas
(2)在/opt/module/datas/目錄下建立student.txt檔案並新增資料,注意以tab鍵間隔
[[email protected] datas]$ touch student.txt [[email protected] datas]$ vi student.txt 1 name1 2 name2 3 name3
(3)啟動hive,載入/opt/module/datas/student.txt 檔案到student表中,資料庫需存在student表。
hive> load data local inpath '/opt/module/datas/student.txt' into table student;
(4)Hive查詢結果
hive> select * from student;
OK 1 name1 2 name2 3 name3 Time taken: 0.266 seconds, Fetched: 3 row(s)
5.遇到的問題
再開啟一個客戶端視窗啟動hive,會產生java.sql.SQLException異常。
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1523) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:86) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:132) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:104) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3005) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3024) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:503) ... 8 more
第一次寫部落格,就給了園子。剛換了工作,空閒之餘想把學習過程中的點點滴滴記錄下來,不足之處請多多體諒。