2016-07-21 4 views
0

Я следующее поле: 1388481000000 как количество миллисекунд, прошедшее с Unix Epoch (1970-01-01 UTC)Apache PIG - Преобразование millseconds в TimeStamp Unix

Как я могу преобразовать в Отметка времени Unix? Я пытаюсь использовать:

ToUnixTime(1388481000000,'dd/MM/yyyyHH:mm:ss','GMT') 

, но он дает мне ошибку ...

Как я могу преобразовать в Unix Timestamp? Большое спасибо!

ответ

0

Вы смешиваете вещи. Синтаксис ToUnixTime - это ToUnixTime (datetime), где параметр - это объект datetime.Что у вас есть миллисекунды, прошедшие с эпохи Unix (1970-01-01 UTC). Я предполагаю, что вы пытаетесь преобразовать миллисекунды в объект datetime, для которого вам нужно будет использовать ToDate, а синтаксис - ToDate (миллисекунды).

ToDate(1388481000000) 
+0

Я определил свое поле как chararray ... Какой тип вы рекомендуете сделать преобразованием? – SaCvP

+0

использовать long для загрузки миллисекунды. Вы все еще можете использовать chararray, но будете делать как этот ToDate ((long) 1388481000000) См. Здесь для типов данных https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html# Данные + Типы –

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