架設Hive
相關概念請看Youtube
配置Hadoop1 Server
設定必要環境變數
$ vi ~/.bashrc
請在.bashrc新增以下環境變數內容
export HIVE_HOME=/home/hadoop/hive
export PATH=$HIVE_HOME/bin:$PATH
使環境變數生效
$ source ~/.bashrc
安裝Hive
已hadoop User身分安裝
下載Hive到Hadoop1 Server的Hadoop User家目錄
$ cd ~
$ wget wget http://apache.stu.edu.tw/hive/hive-3.1.0/apache-hive-3.1.0-bin.tar.gz
$ tar -zxvf apache-hive-3.1.0-bin.tar.gz
$ mv apache-hive-3.1.0-bin hive
配置Hive Site
$ vi ~/hive/conf/hive-site.xml
配置內容,主要配置Hive用的Mysql帳密,
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>shark</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>shark</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
下載Mysql JDB Connector
$ cd ~/hive/lib/
$ wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
初始化Hive Mysql
$ ~/hive/bin/schematool -dbType mysql -initSchema
測試Hive
建立假資料
$ mkdir ~/hivedata
$ vi ~/hivedata/phone1
假資料內容
0000108 iphone6plus 64G 6888
0000109 xiaominote 64G 2388
0000110 iphone5s 64G 6888
0000111 mi2 64G 2388
0000112 mi3 64G 6888
0000113 huawei 64G 2388
0000114 zhongxing 64G 6888
啟動Hive
$ ~/hive/bin/hive
建立Demo Schema
hive> create database demo;
hive> use demo;
建立table
hive> create table phone(id int, name string, storage string, price double) row format delimited fields terminated by '\t';
匯入資料
hive> load data local inpath '/home/hadoop/hivedata/phone1' into table phone;
瀏覽資料
第二個語法count(*)有用到Map Reduce運算
hive> select * from phone;
hive> select count(*) from phone;
Last updated