라이브러리/시스템

Hive 0.13.1 설치 (Ubuntu 14.04)

눌프 2014. 8. 7. 18:06
Download (hadoop user)
Make Hive Directory
  • hadoop#> hadoop fs -mkdir /tmp
  • hadoop#> hadoop fs -chmod g+w /tmp
  • hadoop#> hadoop fs -mkdir -p /user/hive/warehouse
  • hadoop#> hadoop fs -chmod g+w /user/hive/warehouse
  • hadoop#> hive
    • hive> show databases;
    • hive> exit;
Install MySQL
  • hadoop#> sudo apt-get install mysql-server
  • hadoop#> sudo service mysql restart
Create User and Database
  • hadoop#> mysql -u root -p
    • mysql> grant all privileges on *.* to hive@localhost identified by 'hive' with grant option;
    • mysql> exit;
  • hadoop#> mysql -u hive -p
    • mysql> create database hive;
    • mysql> use hive;
    • mysql> exit;
Download MySQL Connector
Connect MySQL into Hive
  • hadoop#> sudo vi $HIVE_HOME/conf/hive-site.xml
<configuration>
<property>
    <name>hive.metastore.local</name>
    <value>true</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost: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>hive</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
</property>
</configuration>  

Test
  • hadoop#> vi /tmp/sample.csv
1,aaaa,10
2,bbbb,20
3,cccc,30
4,dddd,40
5,ffff,50
  • hadoop#> hive
    • hive> CREATE TABLE custom(id INT, name STRING, score INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
    • hive> LOAD DATA LOCAL INPATH '/tmp/sample.csv' OVERWRITE INTO TABLE custom;
    • hive> select * from custom;
    • hive> select count(*), avg(score) from custom where id in (1, 3, 4);
    • hive> exit;
  • hadoop#> hadoop fs -ls /user/hive/warehouse/custom
  • hadoop#> mysql -u hive -p
    • mysql> show databases;
    • mysql> use hive;
    • mysql> show tables;
    • mysql> SELECT * FROM hive.TBLS;