【问题标题】:What is the right format to store datetime for Pig and Hive?为 Pig 和 Hive 存储日期时间的正确格式是什么?
【发布时间】:2014-09-30 18:09:19
【问题描述】:

在使用 Pig 进行 ETL 时,我使用 HCatStorer 将处理后的数据放入 Hive:

STORE dataprocessed INTO 'database.table' USING org.apache.hcatalog.pig.HCatStorer();

我的目标是使目标表的数据可以从 Pig 或 Hive 中使用(取决于用户的技能)

推荐的日期时间存储格式是什么?

我关心:

  • 存储时区信息
  • 能够比较日期
  • 人类可读(例如,我不认为时间戳是人类可读的)

感谢您的帮助

【问题讨论】:

    标签: datetime hive apache-pig hcatalog


    【解决方案1】:

    我可能会将日期/时间相关信息存储为 ISO-8601 格式的字符串/字符数组,因为 HCatStorer 不直接支持日期类型(至少在猪中)。

    pig中有转换日期/时间信息的函数:http://pig.apache.org/docs/r0.13.0/func.html#datetime-functions

    【讨论】:

    • 感谢您的回答。我不喜欢将日期存储为字符串:很难与公司中的所有人同步以使用相同的格式。我的理解是没有办法将日期存储为对象。对吗?
    • 据我所知,就猪而言,这是正确的。此页面包含 HCatStorage 支持的所有数据类型,DateTime 不在其中:hive.apache.org/javadocs/hcat-r0.5.0/loadstore.html(参见“HCatalog 数据类型”)
    • 是的,我就是这么想的。这有点令人难过,因为它使日期时间管理起来更加复杂:(。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多