Как объединить месяц и день из полноформатных дат в свинье - PullRequest
0 голосов
/ 07 мая 2019

Я загрузил столбец имен и столбец дат в PIG, которые отображаются в следующем формате: 'гггг / мм / дд чч: мм: сс'. Я хочу показать столбец имен и столбец, который отображает только месяц и день от даты, в следующем формате: MM / dd. Как я могу это сделать?

Это код, который я пробовал несколькими способами, но он не работал. Я также хочу отобразить столбец имен со столбцом даты в формате MM / dd: С "MonthDay1" это не работает. Ошибка 1200: «несоответствующий вход« CONCAT »ожидает SEMI_COLON».

 New1 = LOAD '/user/cloudera/file1' USING PigStorage(',') as (names1:chararray, date1:chararray);
    NewDates1 = foreach New1 generate ToDate(date1,'yyyy/MM/dd HH:mm:ss')
    as (date_time1:DateTime );
    DUMP NewDates1;
    MonthDay1= foreach NewDates1 generate
    CONCAT((chararray)GetMonth(date_time1),
    CONCAT('-',CONCAT((chararray)GetDay(date_time1))));
    DUMP MonthDay1;

Также я пытаюсь этот код имеет эту ошибку:

 MonthDay1= Foreach NewDates1 generate * CONCAT((Chararray)GetMonth(date_time1),CONCAT(+'- '+(Chararray)GetDay(date_time1))) as MonthDay1:Chararray;
...