Невозможно обработать данные временных рядов в PIG - PullRequest
0 голосов
/ 26 октября 2018

У меня есть данные временных рядов, например: 2018-10-12 01:25:37 и извлеченные дата (2018-10-12) и время (1:25:37) из отметки времени. Теперь требуется отфильтровать значения времени на основе определенного условия (например: отфильтровать значение времени с атомом другого мешка, который содержит данные времени (чч: мм: сс)). У PIG нет типа данных TIME для данных типа время (чч: мм: сс). Какой тип данных требуется для загрузки значений времени в PIG?

1 Ответ

0 голосов
/ 26 октября 2018

Для извлечения даты (год, месяц, час, минуты и т. Д.).использовал эти функции

Для года: GetYear()

Для месяца: GetMonth()

Для дня: GetDay()

Для часа: GetHour()

Для минуты: GetMinute()

date.txt
2018-10-12 11:15:43
2018-10-12 12:25:12
A = load 'date.txt' as (in:chararray);
B = foreach A generate ToDate(in,'yyyy-MM-dd HH:mm:ss') as (dt:DateTime);
C = foreach B {
      year = GetYear(dt);
      month = GetMonth(dt);
      day = GetDay(dt);
      hour = GetHour(dt);
      minute = GetMinute(dt);
    //finally you can concatenate year month and day or hour, time using CONCAT function
};
...