开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

hive里面timestamp类型,为什么会添加9个0在后面

hive里面timestamp类型,为什么会添加9个0在后面

展开
收起
游客3oewgrzrf6o5c 2022-08-26 17:38:21 887 0
1 条回答
写回答
取消 提交回答
  • 在Apache Hive中,Timestamp类型存储的是一个特定的时间戳,表示从"1970-01-01 00:00:00"开始的毫秒数。这个时间戳的精确度是毫秒级别的。

    在Hive中,Timestamp类型的数据在存储时会以UTC时区表示,并且会将其值转换为纳秒级别的精确度。为了保持一致性,Hive会在Timestamp类型的值后面添加9个零(0),以表示纳秒级别的精确度。

    例如,如果一个Timestamp值是"2021-09-01 12:34:56.789",在Hive中存储时会表示为"1630500896789000000",其中最后的9个零表示纳秒级别的精确度。

    需要注意的是,在Hive中使用Timestamp类型时,由于存储和计算的精确度都是纳秒级别的,可能会导致一些精度损失或舍入误差。

    2023-06-09 16:42:37
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
Comparison of Spark SQL with Hive 立即下载
Hive Bucketing in Apache Spark 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载