[HADOOP] 어떻게 하이브에서 특정 시간대의 현재 시간을 얻을 수 있습니다
HADOOP어떻게 하이브에서 특정 시간대의 현재 시간을 얻을 수 있습니다
나는 하이브 2 개 테이블을 가지고있다.
표 1은 포함
timelocation
2015-03-04 15:00 Chicago
2015-03-04 15:00 Denver
2015-03-04 15:00 Honolulu
표 2는 포함
ID Description
America/Chicago CENTRAL STANDARD TIME
America/Denver MOUNTAIN STANDARD TIME
Pacific/Honolulu HAWAII-ALEUTIAN STANDARD TIME
표 1의 레코드 존재가 "2015년 3월 4일 15시 시카고"라고, 나는 해당 시카고 레코드에 대해 표 2에 조회를 할 필요가있다. 그것은 시카고의 ID 및 설명을 읽고 시카고 즉 "2015년 5월 4일 9시 11분"현재 중부 표준시를 반환해야합니다.
마찬가지로 덴버 것이 산지 표준시를 반환해야합니다 및 호놀룰루 것은 하와이 - 알류 산 표준시를 반환해야합니다.
예상 출력은
timelocation
2015-05-04 09:11
2015-05-04 08:11
2015-05-04 04:11
내가 어떻게 해?
해결법
-
==============================
1.난 정말 당신이 쿼리를 작성하지 않으 그러나 희망이 옳은 방향으로 당신을 가리 킵니다. 당신은 TBL1 <=> TBL2에 가입해야합니다. 각 테이블의 각 열에서 도시를 추출; 분할 () 함수를 사용하면 도움이 될 것입니다. 그런 다음 (UTC로 가정) 타임 스탬프를 받아 주어진 시간대로 변환 당신이 여기라고 from_utc_timestamp을 찾을 수있는 멋진 기능은 ()가있다. 당신은 또한 시간대 약어에 열 설명을 변환해야합니다. 당신은 여기를 찾을 수 있습니다. 행운을 빕니다!
난 정말 당신이 쿼리를 작성하지 않으 그러나 희망이 옳은 방향으로 당신을 가리 킵니다. 당신은 TBL1 <=> TBL2에 가입해야합니다. 각 테이블의 각 열에서 도시를 추출; 분할 () 함수를 사용하면 도움이 될 것입니다. 그런 다음 (UTC로 가정) 타임 스탬프를 받아 주어진 시간대로 변환 당신이 여기라고 from_utc_timestamp을 찾을 수있는 멋진 기능은 ()가있다. 당신은 또한 시간대 약어에 열 설명을 변환해야합니다. 당신은 여기를 찾을 수 있습니다. 행운을 빕니다!
-
==============================
2.당신은 표 1에 가입해야 다음과 같은 쿼리를 사용하여 표 2 :
당신은 표 1에 가입해야 다음과 같은 쿼리를 사용하여 표 2 :
SELECT T1.timelocation,T2.ID, T2.Description, to_utc_timestamp(SUBSTRING(T1.timelocation,1,16),T2.ID) AS newtime FROM table 1 T1 INNER JOIN table2 T2 ON SUBSTRING(T1.timelocation,17)= SUBSTRING(regexp_extract(T2.ID,'/\w*',2),2)
그러므로 내가 출력에 문자열을하고있는 중이 야의 미국 / 시카고 / 시카고 될 것입니다 가정 해 봅시다에 정규식 기능의 여기 출력은 시카고를 추출하고 timelocation 컬럼의 부분 문자열에 일치합니다.
더 하이브 정규식 기능 regexp_extract에 대한 정보 (문자열 제목, 문자열 패턴, INT 지수)를 @Hive 문서를 확인을 위해
-
==============================
3.이 시도 to_utc_timestamp ( '2015년 1월 1일 0시 0분 0초', 'PST')
이 시도 to_utc_timestamp ( '2015년 1월 1일 0시 0분 0초', 'PST')
반환 2015년 1월 1일 8시 0분 0초
from https://stackoverflow.com/questions/30032713/how-to-get-current-time-for-a-given-timezone-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 어떻게 하둡 하이브에서 타임 스탬프 주어진 일주일의 첫 번째 날의 날짜를 얻으려면? (0) | 2019.09.28 |
---|---|
[HADOOP] MAPR - 파일 읽기 및 쓰기 프로세스 (0) | 2019.09.28 |
[HADOOP] 때 java.io.IOException : 하둡의 바이너리 실행 널 \ 빈 \의 winutils.exe을 찾을 수 없습니다 (0) | 2019.09.28 |
[HADOOP] HIVE에서 외부 테이블을로드 할 때 나는 브래킷을 무시 어떻게 (0) | 2019.09.28 |
[HADOOP] 하둡 - 감속기가 시작되지 않는 (0) | 2019.09.27 |