[HADOOP] HIVE에서 Date Series를 생성하는 방법은 무엇입니까? (테이블 만들기)
HADOOPHIVE에서 Date Series를 생성하는 방법은 무엇입니까? (테이블 만들기)
현재 각 계정에 대해 1 행이있는 표가 있고 표의 데이터가 다음과 같다고 가정 해 보겠습니다.
이제는 계정이 열려있는 매일 1 행 (예 : 각 계정의 시작일과 종료일 사이의 각 행에 대해 1 일) 인 새로운 표를 만들고 싶습니다.
식
1 번 테이블
Account Number Start Date End Date
123 1-Jan-17 1-Jul-17
456 1-Feb-17 4-May-17
표 2 (원하는 테이블)
Account Number Day
123 1-Jan-17
123 1-Jan-17
...
123 1-Jul-17
456 1-Feb-17
456 2-Feb-17
...
456 4-May-17
Postgresql에는 'generate series'라는 함수가 있는데, 그렇게하면 쉽게 할 수 있습니다. 나는 HIVE에도 비슷한 기능이 있다면 그렇게 할 수 있을지 궁금합니다.
감사!
해결법
-
==============================
1.
select t.AccountNumber ,date_add (t.StartDate,pe.i) as Day from Table1 t lateral view posexplode(split(space(datediff(t.EndDate,t.StartDate)),' ')) pe as i,x
from https://stackoverflow.com/questions/45278300/how-to-generate-date-series-in-hive-creating-table by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] elasticsearch를 중앙 데이터 저장소로 사용 (0) | 2019.07.10 |
---|---|
[HADOOP] 작업 시도가 600 초 동안 상태를보고하지 못해 감소가 실패합니다. 죽이는! 해결책? (0) | 2019.07.10 |
[HADOOP] 파일 이름 + 오프셋을 포함하도록 SequenceFileInputFormat 확장 (0) | 2019.07.10 |
[HADOOP] 기본 HBase 테이블을 사용하는 튜닝 하이브 쿼리 (0) | 2019.07.10 |
[HADOOP] PIG UDF에서 디버깅 (0) | 2019.07.10 |