Hive SQL bigint转日期

流程图

flowchart TD
    start[开始] --> step1[将bigint字段转为timestamp类型]
    step1 --> step2[将timestamp类型转为日期类型]
    step2 --> end[结束]

步骤及代码示例

  1. 将bigint字段转为timestamp类型
-- 创建临时表
CREATE TEMPORARY TABLE temp_table AS (
    SELECT bigint_column, 
           FROM_UNIXTIME(bigint_column) AS timestamp_column
    FROM original_table
);

-- 查看临时表结果
SELECT * FROM temp_table;

代码说明:

  • bigint_column是需要转换的bigint类型字段名。
  • timestamp_column是bigint字段转换为timestamp类型后得到的字段名。
  • FROM_UNIXTIME(bigint_column)函数将bigint类型字段转换为timestamp类型。
  1. 将timestamp类型转为日期类型
-- 创建最终结果表
CREATE TABLE result_table AS (
    SELECT timestamp_column, 
           FROM_UNIXTIME(UNIX_TIMESTAMP(timestamp_column, 'yyyy-MM-dd')) AS date_column
    FROM temp_table
);

-- 查看最终结果表
SELECT * FROM result_table;

代码说明:

  • timestamp_column是上一步得到的timestamp类型字段。
  • date_column是将timestamp类型字段转换为日期类型后得到的字段名。
  • UNIX_TIMESTAMP(timestamp_column, 'yyyy-MM-dd')将timestamp类型的字段转换为指定格式的日期字符串。
  • FROM_UNIXTIME()函数将UNIX时间戳转换为日期类型。

总结

通过以上步骤,我们可以将Hive SQL中的bigint字段转换为日期类型。首先,我们将bigint字段转换为timestamp类型,然后将timestamp类型转换为日期类型。在代码实现中,我们使用了FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数来完成类型的转换。