【问题标题】:How can I compute week dates in hive?如何计算蜂巢中的星期日期?
【发布时间】:2014-10-28 11:09:19
【问题描述】:

背景

Postgresql 有一个很好的函数date_trunc(),它可以很容易地计算一周的开始日期。这对于一周级别的聚合非常有用。例如。

SELECT 
  date_trunc('week', create_date), 
  count(*) 
FROM ... 
GROUP BY 1;

HiveQL 具有函数WEEKOFYEAR(),可以为您提供周数。如果将其与YEAR() 结合使用,则可以生成与 postgres 中相同类型的聚合。

SELECT 
  YEAR(create_date), 
  WEEKOFYEAR(create_date), 
  count(*) 
FROM ... 
GROUP BY YEAR(create_date), WEEKOFYEAR(create_date);

这很棒。但是,如果我想要一周的实际日期怎么办?

问题

如何在 HiveQL 中根据年份和周数或直接根据时间戳计算周日期?

【问题讨论】:

    标签: date hadoop timestamp hiveql


    【解决方案1】:

    Hive 中的功能并不多。所以它支持自定义UDF。您编写自己的函数并集成到 Hive 中。

    以下是一些可能有用的 UDF:

    1.) Link 1

    2.) Link 2

    希望这会有所帮助..!!!

    【讨论】:

    • 酷。似乎是我正在寻找的东西。我会试一试。谢谢!
    猜你喜欢
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2021-09-17
    相关资源
    最近更新 更多