Monday

Hive Query비대화형(Non-interactive) 모드 - Beeline 본문

빅데이터/Hive

Hive Query비대화형(Non-interactive) 모드 - Beeline

뉴비2 2021. 2. 22. 13:53

하이브에서 비대화형 모드로 쿼리를 사용하고 싶을 때 Beeline 모드를 사용하실 수 있습니다.

 

사용법은 beeline -u "하이브 서버 url" -e "명령어" 입니다.

$ beeline -h  //Beeline Command 정보보기

$ beeline -u jdbc:hive2://localhost:10000 -e 'SELECT * FROM fun.games'

$ beeline -u jdbc:hive2://localhost:10000 -e 'USE fun; SELECT * FROM games'

$ beeline -u jdbc:hive2://localhost:10000 --silent=true -e 'SELECT * FROM fun.games'

 

또한, 직접 쿼리를 치지 않아도 파일을 통해서 쿼리를 수행할 수 있습니다. 

예를 들어 다음과 같은 쿼리들은 commands.sql로 저장해놓았다고 가정하겠습니다.

 

파일이름 : commands.sql

USE fun;

SELECT * FROM games;

SELECT name, list_price, 0.8*list_price AS discounted_price FROM games;

그 후 파일에 있는 sql문을 읽어와 실행할 때에는 다음과 같이 수행하시면 됩니다.

 

$ beeline -u jdbc:hive2://localhost:10000 -f commands.sql

$ beeline -u jdbc:hive2://localhost:10000 --silent=true -f commands.sql

또한, 질의 결과를 파일로 저장할 수도 있습니다. 이 때, --showheader=false 옵션을 주면 컬럼 속성들을 생략하실 수 있습니다. 예를 들어, 학생 테이블에 이름, 학번 이란 2개의 컬럼 속성이 있을 때 '이름, 학번'을 테이블에서 제외한 결과를 출력하실 수 있습니다.

 

beeline -u jdbc:hive2://localhost:10000 --showheader=false --silent=true --outputformat=csv2 -e 
'USE fun; SELECT * FROM games' > games.csv  # showheade=fales는 Column 속성을 생략, 기본값은 True

'빅데이터 > Hive' 카테고리의 다른 글

beeline 변수 사용하기  (0) 2021.02.22
Hive Query - NULL 처리  (0) 2021.02.22
Hive&Impala Query 문자열 패턴 매칭  (0) 2021.02.22
Comments