Solución:
Resuelto con la siguiente consulta:
select timestamp, from_unixtime(CAST(timestamp/1000 as BIGINT), 'yyyy-MM-dd') from Hadoop_V1_Main_text_archieved limit 10;
En la respuesta original, obtendrá una cadena, pero si desea obtener una fecha, debe llamar a un elenco adicional con la fecha:
select
timestamp,
cast(from_unixtime(CAST(timestamp/1000 as BIGINT), 'yyyy-MM-dd') as date) as date_col
from Hadoop_V1_Main_text_archieved
limit 10;
Documentos para fechas y marcas de tiempo de transmisión. Para convertir cadenas a la fecha:
cast(string as date)
Si la cadena tiene el formato ‘AAAA-MM-DD’, se devuelve un valor de fecha correspondiente a ese año / mes / día. Si el valor de la cadena no coincide con este formato, se devuelve NULL.
El tipo de fecha solo está disponible en Hive> 0.12.0
como se menciona aquí:
DATE
(Nota: solo disponible a partir de Hive 0.12.0)
timestamp_ms es unixtime en milisegundos
SELECCIONE from_unixtime (floor (CAST (timestamp_ms AS BIGINT) / 1000), ‘aaaa-MM-dd HH: mm: ss.SSS’) como created_timestamp FROM table_name;