2015-08-25 1 views
2

Я пытаюсь сортировать с помощью столбца строки Pig on date date_time_stamp, но похоже, что он не может сортировать, когда функция работает в столбце/поле.Использование ORDER BY Pig по возвращаемому значению функции

C = ORDER B BY ToDate(date_time_stamp, 'dd-MMM-yy hh.mm.ss.SSSSSS a') ASC; 

Вот пример данных:

19-JUN-15 04.45.00.000000 PM,6 
20-JUN-15 11.15.00.000000 AM,5 
19-JUN-15 07.15.00.000000 AM,17 
21-JUN-15 12.00.00.000000 AM,0 
20-JUN-15 12.35.00.000000 PM,33 

Как-то на колонке оперированных функции?

+0

Поделитесь данными испытаний для ссылки. –

+0

@MuraliRao Я разместил его выше. Благодарю. – menorah84

ответ

2

Согласно документации: http://pig.apache.org/docs/r0.12.0/basic.html#order-by

  1. В field_alias, на котором ORDER BY выполняется должны присутствовать в соотношении/псевдонима.

  2. Свинья в настоящее время поддерживает заказы на поля с простыми типами или указателем кортежа (*). Вы не можете заказывать поля с сложными типами или выражениями.

В случае использования совместно, перед выполнением ORDER BY на псевдоним B, мы должны спроектировать значение Todate() в качестве field_alias, а затем мы можем выполнить заказ на этом поле.