Hive CLI
· Version : Hadoop 3.0.0-cdh6.3.2, Hive
Hive CLI(Command Line Interface)는 하이브 쿼리를 실행하기 위한 명령 도구로, 쉘을 이용하여 사용자의 명령을 입력할 수 있다. 하이브 쿼리 실행시 다양한 옵션을 사용할 수 있으며, 대표적인 옵션은 아래와 같다.
· -e <query-string> : 커맨드라인으로 실행할 쿼리
· -f <filename> : 쿼리가 작성된 파일을 이용하여 실행할 경우
· --hiveconf <property=value> : 하이브 설정값 입력
· --hivevar <key=value> 쿼리에 사용할 변수 입력
| hive --hiveconf mydb.data.name=queue --hivevar date=20190101 | 
[하이브 쉘 입력]
하이브 CLI를 실행하고 쉘을 이용하여 사용한다.
| -- 커맨드에서 hive 실행 $ hive --하이브 쉘에서 쿼리 실행 hive> select * from table; | 
[커맨드 라인에서 하이브 명령 실행]
커맨드라인으로 하이브를 실행할때 -e 옵션을 사용한다.
| -- 커맨드라인에서 하이브의 table 테이블 조회 $ hive -e "select * from table" 
 -- 쿼리의 실행 엔진과, 변수를 설정 $ hive -e 'select * from table where yymmdd=${hivevar:tDate}' \ --hiveconf hie.execution.engine=tez \ --hiveconf tez.queue.name=queue_name \ --hivevar Date=20190101 | 
[파일로 저장된 쿼리 실행]
쿼리를 파일로 저장하여 해당 파일을 실행하는 방식으로 -f 옵션을 사용한다.
| --sample.hql 파일에 저장되어 있는 쿼리 select * from table where yymmdd=${hivevar:targetDate} 
 -- -f 옵션을 사용하여 파일 쿼리 실행 및 변수 입력 $ hive -f sample.hql --hivevar Date=20190101 | 
[하이브 로깅]
하이브 CLI는 log4j를 사용하여 로깅한다. 로깅 방법을 변경할때는 log4j 설정파일을 변경하거나 --hiveconf 옵션을 사용한다.
| -- 로깅 레벨, 파일 위치 변경 hive --hiveconf hive.log.file=hive_debug.log \ --hiveconf hive.log.dir=./ \ --hiveconf hive.root.logger=DEBUG,DRFA | 
[하이브 CLI 명령어]
| Command | Description | 
| Exit | 하이브 쉘 종료 | 
| Reset | 설정값 초기화 | 
| set <key>=<value> | 설정값 입력 | 
| set | 하이브의 설정값 출력 | 
| set -v | 하둡, 하이브의 설정값 출력 | 
| add file <> | 파일 추가 | 
| add files <> | 여러개의 파일 추가, 공백으로 경로 구분 | 
| add jar <> | jar 파일 추가 | 
| add jars <> | 여러개의 jar 파일 추가, 공백으로 경로 구분 | 
| !<command> | 쉘 커맨드 실행 | 
| dfs <dfs command> | 하둡 dfs 커맨드 실행 | 
jar 파일 추가는 사용자가 구현한 UDF, SerDe 등 자바 클래스를 사용할때, jar 파일 위치를 지정한다. 파일 추가는 스크립트나 UDF에서 내부적으로 사용하는 메타파일을 추가할때 사용한다.
| -- 옵션 설정 hive> set mapred.reduce.tasks=32; -- 모든 옵션 값 확인 hive> set; -- CLI 상에서 설정한 옵션 초기화 hive> reset; -- 쉘커맨드 실행 hive> !ls -alh; -- dfs 커맨드 실행 hive> dfs -ls /user/; -- 파일 추가 hive> add file hdfs:///user/sample.txt; -- 여러개의 파일 추가. 공백으로 구분 hive> add files hdfs:///user/sample1.txt hdfs:///user/sample2.txt; -- jar 파일 추가 hive> add jar hdfs:///user/sample.jar; | 
[참고자료]
· https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli
2019-12-11 / Sungwook Kang / http://sungwookkang.com
Hadoop, hive, 하이브 명령어, hive command, 하이브쉘, 하이브 커맨드, 빅데이터
'SW Engineering > Hadoop' 카테고리의 다른 글
| MapReduce 메모리 부족으로 인한 쿼리 실패 (0) | 2019.12.14 | 
|---|---|
| HiveServer2 와 Beeline (0) | 2019.12.13 | 
| HDFS Safe 모드 (0) | 2019.12.11 | 
| HDFS 커럽션 파일 확인 (0) | 2019.12.10 | 
| HDFS에서 파일 삭제시 바로 삭제 될까? (휴지통 기능) (0) | 2019.12.06 |