hive日期使用技巧

1.获取指定月第一天最后一天

--指定月的第一天 select trunc('2020-11-10','MM'); 2020-11-01

--指定月的最后一天 select last_day('2020-11-10'); 2020-11-30

2.获取连续日期

格式:
with dates as(
    select date_add(start_date, a.pos) as d
    from (select posexplode(split(repeat("m", datediff(end_date, start_date)), "m"))) a
)
select * from dates;
1
2
3
4
5
使用方式: 将start_date和end_date替换为自己的日期即可.

案例:
with dates as(
    select date_add("2020-01-01", a.pos) as d
    from (select posexplode(split(repeat("m", datediff("2020-01-10", "2020-01-01")), "m"))) a
)
select * from dates;
输出:
2020-01-01
2020-01-02
2020-01-03
2020-01-04
2020-01-05
2020-01-06
2020-01-07
2020-01-08
2020-01-09
2020-01-10

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当涉及到Hive SQL的高级技巧时,以下是一些常用的技巧和功能: 1. 分区和桶:Hive支持数据的分区和桶,这可以提高查询性能。通过将数据分成更小的块,可以减少需要扫描的数据量。分区是根据某个列的值进行数据划分,而桶则是根据哈希函数将数据分成固定数量的块。 2. 自定义函数:Hive允许用户编写自定义函数来满足特定的需求。通过自定义函数,可以在Hive使用自定义的逻辑和操作。 3. 窗口函数:Hive支持窗口函数,这使得在查询中进行聚合计算变得更加灵活。窗口函数可以对一组行进行计算,并返回结果集中的每一行。 4. 嵌套查询:Hive支持嵌套查询,这允许在一个查询中嵌套另一个查询。嵌套查询可以用于处理复杂的逻辑和多个数据源。 5. 表连接:Hive支持不同类型的表连接操作,如内连接、外连接和交叉连接。表连接可以用于将多个表中的数据关联起来,以便进行更复杂的查询和分析。 6. 动态分区:Hive允许在加载数据时动态创建分区。这对于处理动态数据和频繁更新的数据非常有用。 7. 压缩:Hive支持数据的压缩,这可以减少存储空间和提高查询性能。常见的压缩格式包括Snappy、Gzip和LZO。 8. 数据倾斜处理:当某个列的值分布不均匀时,可能会导致查询性能下降。Hive提供了一些技术来处理数据倾斜,如使用随机前缀、使用桶等。 9. 性能调优:Hive提供了一些性能调优的选项,如设置合适的并行度、调整内存配置、使用合适的文件格式等。这些调优选项可以提高查询性能和执行效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值