[HADOOP] HIVE는 셸을 사용하여 문자열을 구문 분석
HADOOPHIVE는 셸을 사용하여 문자열을 구문 분석
나는 나의 관찰을 필터링하기 위해, 하이브로 문자열 변수를 구문 분석하는 데 사용하는 쉘 스크립트가 있습니다. 나는 스크립트 아래 하이브 코드를 모두 제공합니다.
다음 스크립트에서 나는 문자열 값을 갖는 변수를하고 난 하이브, 아래의 예로 구문 분석하려고 :
쉘 스크립트 :
name1='"Maria Nash"' *(I use a single quote first and then a double)*
hive --hiveconf name=${name1} -f t2.hql
하이브 코드 (t2.hql)
create table db.mytable as
SELECT *
FROM db.employees
WHERE emp_name='${hivevar:name}';
결론
정확하려면 최종 테이블이 만들어집니다하지만 어떤 관찰을 포함하지 않습니다. 직원 테이블하지만 EMP_NAME "마리아 내쉬"을 가지고 관찰이 포함되어 있습니다.
나는 쉘에서 제대로 문자열을 구문 분석하지 못하거나 내가 하이브 쿼리의 분석 변수를 처리하는 방법에 대한 올바른 구문을 따르지 않는 것으로 생각합니다.
나는 당신의 도움을 주셔서 감사합니다 것입니다!
해결법
-
==============================
1.CLI를 사용하면 사용되지 않습니다
CLI를 사용하면 사용되지 않습니다
당신은 쉘 스크립트에서 직선을 사용할 수 있습니다
이 같은 보일 것이다
beeline << EOF !connect jdbc:hive2://host:port/db username password select * from db.employees where emp_name = "${1}" EOF
$ (1) 가정하면 스크립트의 입력이다.
이것은 생산의 구현보다는 그것을 수행하는 방법의 예입니다. 일반적으로,
당신이 한 줄에 그것을 할 수있는 점을 감안
beeline -u jdbc:hive2://hostname:10000 -f {full Path to Script} --hivevar {variable}={value}
from https://stackoverflow.com/questions/53082120/parse-strings-in-hive-using-shell by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HUE 돼지 스크립트를 사용하여 CSV 파일로 HBase를 테이블을 내보낼 수 없음 (0) | 2019.09.30 |
---|---|
[HADOOP] 창에 파이썬 하둡은 하나 매퍼 다중 입력, 오류를 cmd를 : 하위 프로세스가 실패 (0) | 2019.09.30 |
[HADOOP] 나는 매개 변수로 하이브 서버 작업에서 동적 날짜를 전달할 수있는 방법 (0) | 2019.09.30 |
[HADOOP] JobControl를 사용하여 하둡 작업 시간을 측정 (0) | 2019.09.30 |
[HADOOP] 실행에 표시 지속적인 로그 스토리지 기반 하둡 클러스터, 8042 / 로그 / userlogs / 종료에 사라 (0) | 2019.09.30 |