-이번장에서 배울 것
0.Hive란 무엇인가
-HDFS/HBase의 데이터를 다룰 때 SQL쿼리로 쓸 수 있게 해주는 툴이다.
1.Impala란 무엇인가
-HDFS/HBase의 데이터를 다룰 때 SQL쿼리로 쓸 수 있게 해주는 툴이다.
2.Impala와 Hive를 어떻게 비교할 것인가
-Hive
1.features를 더많이 가지고 있다.
2.배치 처리에 흔히 사용된다.
3.복잡한 데이터 타입/windowing analytics에 좋다
4.하둡 클러스터 데이터 처리 엔진에서 작업을 생산한다.
-Impala
1.맵리듀스에서가 아니라 SQL 엔진에서 5배에서 50배까지 성능이 좋다.
2.데이터 분석과 interactive(상호적인) 쿼리에 이상적이다.
3.더많은 feature들이 계속 추가되고 있다.
4.하둡 클러스터에서 직접 쿼리를 실행할 수 있다.
-Hive와 Impala를 사용하는 이유
1.거대한 양의 데이터 분석이 가능
2.맵리듀스 또는 스파크를 직접 쓰는 것보다 생산적이다.
3.다른 시스템과의 상호호환을 제공한다.(java나 외부 스크립트들)
4.진행 쿼리에 대해 많은 인터페이스를 제공한다.(Command-line shell, Hue, ODBC, JDBC)
3.Impala와 Hive를 사용하여 어떻게 쿼리를 쓸 것인가
-Hive서버를 시작하려면 아래의 커맨드를 입력해줘야한다. Impala는 필요없음.
sudo service zookeeper-server start
sudo service hive-server2 start
-Impala 사용하기.
impala-shell
-shell이 실행됨.
impala-shell -i myserver.example.com:21000
-다른 서버로 연결함. (-i hostname:port)
impala-shell --help
-도움말 부르기
SELECT lname, fname FROM customers WHERE state = “CA” limit 50;
-shell에서 SQL쿼리문으로 데이터 호출하기.
shell date;
shell hdfs dfs /HDFS_PATH
-날짜 보기, hdfs에 접근.
impala-shell -f myquery.sql
-sql 파일 내보내기.
impala-shell -q ‘SELECT * FROM users’
- ‘-q’ 로 커맨드에서 impala shell로 쿼리를 쓸 수 있음.
impala-shell -f myquery.sql -o results.txt --delimited --output_delimiter=”,”
-구분자를 명시할 수 있음.
-Hive사용하기
-beeline을 사용하여 Hive shell을 사용합니다.
-Hive2server 의 URL을 명시함으로써 Beeline을 실행합니다.
beeline -u jdbc:hive2://host:10000 -n username -p password
-Impala shell과 유사합니다.
SELECT lname, fname FROM customers
WHERE state = ‘CA’ LIMIT 50;
!connect url #다른 Hive2 server
!exit #쉘 나가기
!help #도움말씀
!verbose #쿼리에 상세내용 출력
-커맨드 라인에서 Hive 쿼리 사용하기
beeline -u jdbc:hive2://host:10000 -n username -p password -f myquery.hql
-HiveQL 코드 파일 내보내기. -f.
beeline -u jdbc:hive2://host:10000 -n username -p password -e ‘SELECT * FROM users’
- 쿼리 사용하기. -e.
beeline -u jdbc:hive2://host:10000 -n username -p password --silent
- 메시지 출력 거부. --silent
4.관계형 데이터베이스에 대해 Hive와 Impala는 얼마나 다른가
Hive, Impala는 데이터를 업데이트, 삭제, 이동, 인덱싱에는 한계가 있다. 속도는 RDBMS가 젤 빠르지만 데이터 양을 놓고 보면 Impala가 제일 빠르다고 할 수 있다.
이글은 서울과학기술대학교 권혁윤 교수님의 강의를 토대로 필기한 내용임을 밝힙니다. :)
'빅데이터 시스템' 카테고리의 다른 글
RDD와 함께 스파크 활용하기. (0) | 2019.12.15 |
---|---|
스파크 기초 (0) | 2019.12.15 |
데이터 파일 파티셔닝 (0) | 2019.12.15 |
Impala와 Hive로 모델링하고 관리하기 (0) | 2019.12.15 |
sqoop으로 관계형 데이터 불러오기 (0) | 2019.12.15 |
댓글