[HADOOP] 나는 매개 변수로 하이브 서버 작업에서 동적 날짜를 전달할 수있는 방법
HADOOP나는 매개 변수로 하이브 서버 작업에서 동적 날짜를 전달할 수있는 방법
Oozie에서, 나는 색조 하이브 조치를 사용하고, 동일한 작업 나는 날짜 매개 변수를 제공하는 매개 변수 옵션을 사용했다. 여기에는 어제 전에 어제 날짜와 같은 동적 날짜 매개 변수를 제공합니다. 어떻게 그 일을 생성 할 수 있습니까? 그리고 어떻게 매개 변수로 전달할 수 있습니다.
내 HQL은 다음과 같습니다
CREATE TABLE IF NOT EXISTS tmp_table as
select * from emptable
where day>=${fromdate} and day<=${todate}
내 HiveServer 작업에는 다음이 포함됩니다 에이. HQL 스크립트 비. 두 개의 매개 변수 옵션과 같은 FROMDATE = TODATE = 각 날짜에 대해 하나 씨. HQL 스크립트에 대한 추가 파일 옵션.
내가 뭘하려합니다 : 나는 날짜를 반환 두 개의 별도의 쉘 스크립트를 만들었습니다. 쉘 스크립트 중 하나는
#! /bin/bash
FROM_DAY=$(date +%Y-%m-%d -d " - 1 day")
echo "$FROM_DAY"
및 하이브 액션 매개 변수 FROMDATE = /user/manishs/Oozie/filter.sh 될
그러나이 방법은 작업 및 예외를 제공하지 않습니다 : 오류 : 오류 컴파일하는 동안 문 : 실패 : 4:11 표현 사양에 '/' '사용자' '/'근처 입력을 인식 할 수 ParseException가 선 (상태 = 42000 코드 = 40000)
참고 : 나는 같은 날짜 전달하는 경우 : FROMDATE = '2015년 8월 1일'을, 그것은 작업 및 결과를 제공한다.
내 질문은 내가 매개 변수로 하이브 서버 작업에서 동적 날짜를 전달할 수있는 방법이다. 또는 쿼리에 동적 필터를 통과 할 수있는 방법입니다.
해결법
-
==============================
1.Oozie 오른쪽 스케줄러입니까? 그래서 왜 내장 EL 기능 "오늘"와 "어제"를 계산하고 하이브 조치에 전달할 사용하지?
Oozie 오른쪽 스케줄러입니까? 그래서 왜 내장 EL 기능 "오늘"와 "어제"를 계산하고 하이브 조치에 전달할 사용하지?
코디네이터 스크립트에서, 당신은 로스 앤젤레스 시간대를 사용하고 있다고 가정하면, 그것은처럼 보일 것입니다 ...
<coordinator-app .......> <action> <app-path>/path/to/the/worklow/definition</app-path> <configuration> <property> <name>today</name> <value>${coord:formatTime(coord:dateTzOffset(coord:nominalTime(), "America/Los_Angeles"), 'yyyy-MM-dd')}</value> </property> <property> <name>yesterday</name> <value>${coord:formatTime(coord:dateOffset(coord:dateTzOffset(coord:nominalTime(), "America/Los_Angeles"), -1, 'DAY'), 'yyyy-MM-dd')}</value> </property> </configuration> </action> </coordinator-app>
그런 다음 워크 플로 스크립트에서, 하이브에 속성을 전달하는 요소를 사용합니다.
참조 : Oozie 코디네이터 문서
OK, 아마 당신은 색조와 그렇게 할 수 없습니다. 하지만 색조 편집기 어쨌든 그것으로 많은 것을 할 수없는 많은 한계가있다.
-
==============================
2.이 시도,
이 시도,
fromdate = $(sh /user/manishs/Oozie/filter.sh)
filter.sh 주어진 장소에 있어야한다
from https://stackoverflow.com/questions/32033005/how-can-i-pass-a-dynamic-date-in-a-hive-server-action-as-a-parameter by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 창에 파이썬 하둡은 하나 매퍼 다중 입력, 오류를 cmd를 : 하위 프로세스가 실패 (0) | 2019.09.30 |
---|---|
[HADOOP] HIVE는 셸을 사용하여 문자열을 구문 분석 (0) | 2019.09.30 |
[HADOOP] JobControl를 사용하여 하둡 작업 시간을 측정 (0) | 2019.09.30 |
[HADOOP] 실행에 표시 지속적인 로그 스토리지 기반 하둡 클러스터, 8042 / 로그 / userlogs / 종료에 사라 (0) | 2019.09.30 |
[HADOOP] 하둡 + 쓰기 가능한 인터페이스 + readFields의 감속기는 예외를 발생 (0) | 2019.09.30 |