사전에 hadoop 을 먼저 설치합니다.
http://www.ahnseungkyu.com/150
1. git source 받기
$ git clone https://git-wip-us.apache.org/repos/asf/tajo.git tajo
2. ubuntu 12.04 LTS 에서 git 으로 apache https 접속 에러시 해결
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing https://git-wip-us.apache.org/repos/asf/tajo.git/info/refs
fatal: HTTP request failed
$ sudo apt-get install build-essential fakeroot dpkg-dev
$ mkdir ~/git-openssl
$ cd ~/git-openssl
$ sudo apt-get source git
$ sudo apt-get build-dep git
$ sudo apt-get install libcurl4-openssl-dev
$ sudo dpkg-source -x git_1.7.9.5-1.dsc
$ cd git-1.7.9.5
$ sudo vi debian/control
:%s/libcurl4-gnutls-dev/libcurl4-openssl-dev/g # 참조 파일을 변경
$ sudo dpkg-buildpackage -rfakeroot -b
# 테스트 에러가 발생하면debian/rules 파일에서 Test 삭제
$ sudo vi debian/rules
TEST=test # 해당 라인 삭제
$ sudo dpkg -i ../git_1.7.9.5-1_amd64.deb
3. Tajo 소스 빌드
$ cd tajo
$ mvn clean package -DskipTests -Pdist -Dtar
4. Tajo 바이너리 설치 (현재 버전은 0.9.0 임)
$ cd
$ tar xzvf /home/stack/Git/tajo/tajo-dist/target/tajo-0.9.0-SNAPSHOT.tar.gz
5. tajo-env.sh 설정
$ cd tajo-0.9.0-SNAPSHOT
$ vi conf/tajo-env.sh
export HADOOP_HOME=/home/stack/hadoop-2.4.0
export JAVA_HOME=/usr/local/jdk1.7.0_51
6. tajo 실행
$ cd bin
$ ./start-tajo.sh
7. 테스트
$ mkdir -p table1
$ cd table1
$ cat > data.csv
1|abc|1.1|a
2|def|2.3|b
3|ghi|3.4|c
4|jkl|4.5|d
5|mno|5.6|e
<CTRL + D>
# hadoop fs 에 올리기
$ hadoop fs -moveFromLocal data.csv /
$ hadoop fs -ls /
Found 1 items
-rw-r--r-- 3 stack supergroup 60 2014-06-05 17:32 /data.csv
# tajo 로 검색하기
$ cd ../bin
$ ./tsql
# 로컬파일로 테이블 생성하기
default> create external table table1 (id int, name text, score float, type text) using csv with ('csvfile.delimiter'='|') location 'file:/home/stack/tajo-0.9.0-SNAPSHOT/table1';
# hdfs 로 테이블 생성하기
default> create external table hdfs_table1 (id int, name text, score float, type text) using csv with ('csvfile.delimiter'='|') location 'hdfs://localhost:9000/data.csv';
default> \d table1
default> select * from hdfs_table1 where id > 2;