본문 바로가기
빅데이터 시스템

Impala와 Hive 소개

by 볼록티 2019. 12. 15.
728x90
반응형

-이번장에서 배울 것

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가 제일 빠르다고 할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

이글은 서울과학기술대학교 권혁윤 교수님의 강의를 토대로 필기한 내용임을 밝힙니다. :)

728x90
반응형

댓글