Hadoop-Hive
- Hadoop 의 확장성과 가용성은 이해할 수 있었으나 자바 맵리듀스 프로그램을 작성하는 것과 복잡성 때문에 광범위한 채택에 대한 해결책이 필요
- 기술자와 분석가는 SQL 쿼리 방식의 도구를 생각, 대부분의 개발자들이 PHP와 파이선 같은 스크립트 언어에 익숙
- 익숙한 언어와 hadoop 프로그램이 요구하는 언어의 차이를 줄일 수 있는 소프트웨어를 개발하는 것이 필수
- 데이터가 테이블과 파티션으로서 표현될 수 있고 쿼리와 분석을 위해 SQL같은 언어 또한 사용할 수 있는 시스템. 사용자가 선택한 프로그래밍 언어로 작성된 맵리듀스 프로그램을 쿼리에 연결할 수 있는 능력. --> HIVE 사용.
- 하이브는 하둡의 최상위에 구축된 데이터 웨어하우스 기반구조이다.
- 페이스북의 하둡에 저장된 데이터에 쿼리하기 위해 사용될 수 있는 도구.
Mysql Installation on Ubuntu
- Mysql 설치
Apt-get Install mysql-server mysql-client |
- MySQL 서비스 상태 확인
- MySQL 서비스 재시작
- /etc/init.d/mysql restart
MySQL에 Hive 계정 생성(default)
Mysql -uroot -p |
- 데이터베이스 생성
Mysql> create database metastore_db; Mysql> use mysql |
- 계정만들기
Mysql> insert into user(host,user,password) values('%', 'hive', password('hive')); Mysql> Flush privileges; Mysql> grant all privileges on metastore_db.* to hive@localhost identified by 'hive' with grant option; Mysql> Flush privileges; Mysql> grant all privileges on metastore_db.* to hive@'%' identified by 'hive' with grant option; Mysql> Flush privileges; |
- Hive 다운로드 및 설치
>wget http://archive.cloudera.com/cdh/3/hive-0.7.1-cdh3u5.tar.gz >tar xvgz hive-0.7.1-cdh3u5.tar.gz >wget http://repo.maven.apache.org/maven2/mysql/mysql-connector-java/5.1.9/my sql-connector-java-5.1.9.jar >cp mysql-connector-java-5.1.9.jar ./hive-0.7.1-cdh3u5/lib |
- Hive 설정
- HIVE_HOME/conf/hive-defalt.xml
<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> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>[패스워드 설정]</value> </property> |
- HADOOP_HOME/conf/core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop-virtualbox:9000</value> </property> </configuration> |
Hive 디렉터리 생성
<HADOOP_HOME>/bin/hadoop fs –mkdir /tmp <HADOOP_HOME>/bin/hadoop fs -mkdir /user/hive/warehouse <HADOOP_HOME>/bin/hadoop fs -chmod g+w /tmp <HADOOP_HOME>/bin/hadoop fs -chmod g+w /user/hive/warehouse |
데이터 다운로드
• wget http://www.grouplens.org/sites/www.grouplens.org/external_fi les/data/ml-10m.zip • wget http://www.grouplens.org/system/files/ml-1m.zip • unzip ml-1m.zip • cd ml-1m |
HIVE Command
hive> CREATE TABLE rating(userid INT, movieid INT, rating FLOAT, ds STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
hive> show tables;
hive> LOAD DATA LOCAL INPATH '/home/hadoop/m1-1m,/ratings.dat' OVERWRITE INTO TABLE rating;
hive> select count(*) from rating r;
hive> select r.userid from rating r where r.userid = '41810'; |
[참고자료]
거침없이 배우는 하둡(Hadoop IN Action)
http://hadoopdb.sourceforge.net/guide/
http://hadoop.apache.org/docs/r0.20.2/hdfs_design.html
http://www.ibm.com/developerworks/kr/library/
http://bradhedlund.com/2011/09/10/understanding-hadoop-clusters-and-the-network/
'1. IT Story > DB' 카테고리의 다른 글
Oracle 10g CRS 제거 (0) | 2013.03.31 |
---|---|
Oracle 11g RAC with ASM TEST (2) | 2013.03.31 |
Oracle VPD(Virtual Private Database) (0) | 2013.03.31 |
Splunk install-Linux (0) | 2013.02.09 |
Big-Data Hadoop 환경구성 (0) | 2013.02.09 |
Big-Data Hadoop기초 (0) | 2013.02.09 |
Oracle RAC 11.2.0.3 with ASM / Vmware Oracle DB 설치 (0) | 2013.02.09 |
Oracle RAC 11.2.0.3 with ASM / Vmware-Oracle 엔진 설치 및 ASM 구성 (0) | 2013.02.09 |