如何计算配置单元中的周日期?

时间:2014-10-28 11:09:20

标签: date hadoop timestamp hiveql

背景

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中的周日期,从年份和周数或直接从时间戳计算?

1 个答案:

答案 0 :(得分:1)

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

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

1。)Link 1

2。)Link 2

希望这有帮助.. !!!