Saltar al contenido

Hive from_unixtime durante milisegundos

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;

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *