2013-11-08 4 views
1

Я работаю с скриптом Pig, пытающимся преобразовать строку в объект datetime с помощью ToDate(). Вот пример строки, что я работаю с Fri Nov 01 12:30:19 EDT 2013с помощью ToDate() с недопустимыми часовыми поясами

Когда я пытаюсь преобразовать его в объект даты и времени с помощью ToDate(userstring, format) я получаю сказал, что я использую неверный формат ...

B = FOREACH A GENERATE ToDate(date,'EEE MMM dd HH:mm:ss z yyyy') AS datetime; 
ERROR org.apache.pig.tools.grunt.GruntParser - ERROR 2999: Unexpected internal error. Invalid format: "Fri Nov 01 12:30:19 EDT 2013" is malformed at "EDT 2013" 

Причина , Я сильно подозреваю, что Pig использует Joda Time, и EDT не является допустимым часовым поясом Joda Time. Нет проблем, согласно документации, Pig использует Simple Date Format, и я могу избежать строк (см. Самые первые example). Кроме того, что я не могу сделать это ...

ToDate(date,"EEE MMM dd HH:mm:ss 'EDT' yyyy") <-- unexpected character '"' 
ToDate(date,'"EEE MMM dd HH:mm:ss 'EDT' yyyy"') <-- expecting semicolon error 
ToDate(date,'EEE MMM dd HH:mm:ss 'EDT' yyyy') <-- expecting semicolon 
ToDate(date,'EEE MMM dd HH:mm:ss \'EDT\' yyyy') <-- malformed at " EDT 2013" 
ToDate(date,'EEE MMM dd HH:mm:ss "EDT" yyyy') <-- Illegal pattern component: T 

и т.д. Я уверен, что я пробовал все комбинации цитат и избежать персонажей, пытающихся получить свинью игнорировать «EDT» символы, но ничего не работает (большинство из них было просто стрельба в темноте).

Два вопроса, которые у меня есть до того, как я открою отчет об ошибке или что-то в этом роде. 1) Правильно ли я ошибаюсь, потому что EDT не поддерживается часовым поясом? Или мой шаблон неправильный где-то? 2) Если он не работает из-за EDT, есть ли способ избежать этих символов, или я делаю что-то не так на этом шаге?

ответ

0

Вы не можете разобрать EDT с JODA, вы можете с JDK. EDT неоднозначен и может иметь разные значения.

Вы должны быть заинтересованы в этом другой вопрос на StackOverflow Pattern to parse this string to a DateTime

Смежные вопросы