복붙노트

[HADOOP] 아파치 돼지 : 요일을 취득하고 그에 따라 분할

HADOOP

아파치 돼지 : 요일을 취득하고 그에 따라 분할

나는 둘 사이에 날짜를 분할하고 그것에서 토요일과 일요일을 무시해야합니다. 0.11.1에 기능 내장 요일을 얻을하는 데 도움이 될 것입니다하지만 어떻게이 토요일이나 일요일인지 알아? 사람은 어떤 생각을 갖고? 내 예상 출력은 아래에 설명.

입력:

사용자 FROMDATE TODATE

2013년 3월 10일 파라다이스 2013 년

제임스 2013년 10월 4일 2013년 10월 7일

기타..

예상 출력 :

주권 2013 년 10 월

주권 2013년 10월 4일

주권 2013년 10월 7일

주권 2013 년

제임스 2013년 10월 4일

제임스 2013년 10월 7일

해결법

  1. ==============================

    1.돼지 날짜 시간 때문에 객체는 정말 밀리 초 단위로 유닉스 시대 시간이다, 이 쉽게 아웃 - 오브 - 박스 돼지 운영자 수행 할 수 있습니다.

    돼지 날짜 시간 때문에 객체는 정말 밀리 초 단위로 유닉스 시대 시간이다, 이 쉽게 아웃 - 오브 - 박스 돼지 운영자 수행 할 수 있습니다.

    (DaysBetween(ToDate('10/3/2013','MM/dd/yyyy'),ToDate(0L)) + 4L) % 7    
    

    이 유닉스 명령 줄에서 그렇다고 자신을 만족 :

    $>  date -d '1/1/1970' +%w-%a   
    4-Thu     
    $>  date -d '10/3/2013' +%w-%a  
    4-Thu
    

    당신이 UDF 편안하고, 이것은 일반적으로 발생하는 요구 사항 인 경우 물론, 그 최적의 솔루션입니다.

    카터 쇼어

  2. ==============================

    2.당신은 UDF를 작성해야합니다. 이 작업을 수행하기 위해 자바의 달력 클래스를 사용할 수 있습니다.

    당신은 UDF를 작성해야합니다. 이 작업을 수행하기 위해 자바의 달력 클래스를 사용할 수 있습니다.

  3. from https://stackoverflow.com/questions/19152907/apache-pig-get-the-day-of-the-week-and-split-accordingly by cc-by-sa and MIT license