2016-08-10 7 views
1

Я не могу разобрать дату в свиньи.
формат даты пн, 10/11/10 1:02 вечераНевозможно разобрать дату в свинге

загружаю данные, используя следующую команду:

data = load 'CampaignData.csv' using PigStorage(';');

Далее я генерировать столбец даты в качестве chararray с помощью следующая команда: -

date_data = foreach data generate (chararray) $272 as dates; 

когда я дамп date_data я получаю следующее OUTP ут:

пн

Как получить полную дату?

+0

$ 272 это расположение даты колонка –

+0

Что такое $ 273? –

+0

Думаю, я получил ответ на вышеупомянутую проблему. Поскольку файл разделен запятыми, мне нужно использовать PigStorage (','). Затем мне нужно объединить столбцы $ 272 и $ 273, которые дадут мне полную дату. Спасибо за помощь. , но теперь я сталкиваюсь с другой проблемой. Как преобразовать эту дату в формат даты и времени foreach fdate сгенерировать ToDate ($ 0, 'EEE MM/dd/yy hh: mm aaa'); где fdate = пн 10.11.10 13:02 –

ответ

0

Для преобразования даты, предоставляемой объекту datetime, вам не нужно $ 272. Вы можете просто следить за этим:

date_data = foreach data generate ToDate($273, ' MM/dd/yy hh:mm aaa'); 

Просто убедитесь, что $ 273 является chararray и есть пробел перед форматом данных строки, заданной в функции Todate выше. Пространство требуется только для того, чтобы убедиться, что строка формата выглядит точно как данные, которые будут присутствовать после разбора строки с помощью разделителя запятой.

+0

Даже это дает ошибку 1066 –

+0

Можете ли вы разместить полный журнал ошибок здесь. –

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