일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Feature extraction
- learning rate
- Haddop
- Clodera Quick Start
- Spark 설치
- Managed Table
- Hadoop Ecosystems
- 차원의 저주
- 스파크
- Auto Encoder
- 선형 회귀
- One-hot encoding
- Manifold Learning
- hive setting
- Data 불러오기
- Over fitting
- L2 정규화
- hive
- Tez
- Hive CLI
- .hiverc
- Spark Data 불러오기
- 학습률
- 캐글
- Deeplearning 키워드
- DeepLearning
- Spark
- 하이브
- 딥러닝
- data load
- Today
- Total
남는건 기록뿐
Hive CLI(Command Line Interface) 본문
하이브 CLI(Command Line Interface)는 하이브 쿼리를 실행하는 가장 기본적인 도구이다. 인터랙티브 쉘을 이용하여 사용자의 명령을 입력할 수 있고 여기서는 쿼리 실행 방법, 유용한 옵션, 내부 명령어를 알아보겠다.
CLI 옵션
hiveconf는 옵션값을 설정할 때 이용한다.
hivevar는 쿼리에 변수를 지정할 때 이용한다.
usage: hive
-e <quoted-query-string> 커맨드 라인으로 실행할 쿼리
-f <filename> 쿼리가 작성된 파일을 이용하여 실행할 경우
--hiveconf <property=value> 하이브 설정값 입력
예) --hiveconf tez.queue.name=queue
--hivevar <key=value> 쿼리에서 사용할 변수 입력
예) --hivevar targetDate=20180101
-- 옵션 지정 방법
$ hive --hiveconf tez.queue.name=queue --hivevar targetDate=20180101
쿼리 실행
하이브 쿼리 실행은 인터랙티브 쉘에서 입력하는 방법, 커맨드 라인 입력, 파일 입력방법 세가지가 있다.
인터랙티브 쉘 입력
하이브 CLI를 실행하고, 쉘을 이용하여 입력하는 방법이다.
-- hive 실행후 쿼리 입력
$ hive hive> select 0;
OK
0
Time taken: 1.367 seconds, Fetched: 1 row(s)
hive> select * from table;
커맨드 라인 입력
커맨드 라인입력은 -e 옵션을 이용한다.
-- 커맨드 라인에서 바로 입력
$ hive -e "select * from table"
-- 옵션을 이용하여 쿼리의 실행 엔진과, 변수를 설정
-- 커맨드 라인입력에서 설정값 전달
$ hive -e 'SELECT * FROM table WHERE yymmdd=${hivevar:targetDate}'
--hiveconf hie.execution.engine=tez
--hiveconf tez.queue.name=queue_name
--hivevar targetDate=20180101
파일 입력
파일 입력은 쿼리를 파일로 저장해 놓고 해당 파일을 지정하는 방식이다. -f 옵션을 이용한다.
$ cat sample.hql
SELECT * FROM table WHERE yymmdd=${hivevar:targetDate}
-- 파일을 이용하여 쿼리 입력
$ hive -f sample.hql --hivevar targetDate=20180101
로깅 방법
하이브 CLI는 log4j를 이용하여 로깅한다. 로깅 방법을 변경하고자 할 때는 log4j 설정 파일을 변경하거나 --hiveconf 옵션을 이용한다.
-- 로깅 레벨, 파일 위치 변경
hive --hiveconf hive.log.file=hive_debug.log \
--hiveconf hive.log.dir=./ \
--hiveconf hive.root.logger=DEBUG,DRFA
CLI 내부 명령어
하이브 CLI의 주요 내부 명령어는 다음과 같다.
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;
'Hive & Impala' 카테고리의 다른 글
Hive Partition, Bucketting에 대하여 (0) | 2020.06.17 |
---|---|
Hive의 3 가지 Table Type, Data Load (0) | 2020.06.17 |
MR과 TEZ의 차이 (0) | 2020.06.16 |
Docker에서 Cloudera Quick Start Vm Image 다운받기 (0) | 2020.06.15 |
Hive란? (0) | 2020.06.15 |