美文网首页
Hive常用函数

Hive常用函数

作者: 八刀一闪 | 来源:发表于2022-02-11 22:09 被阅读0次

假设现在有一个订单表(order),里面有3个字段:uid、item_id(商品id)、price、ts(时间戳)

uid item_id price ts
u1 i1 10 1644503781
u2 i2 15 1644504880
u3 i3 20 1644503984

时间函数

将时间戳转化为可阅读的字符串

select from_unixtime(ts, 'yyyyMMdd HH:mm:ss') from order
--结果:
--20220210 22:36:21
--20220210 22:54:40
--20220210 22:39:44

将日期转化为时间戳

select unix_timestamp('20220209', 'yyyyMMdd');

计算日期差值,如过滤出距离2022.02.09 7天的订单(需要注意日期的格式)

select * from order where datediff('2022-02-09', from_unixtime(ts, 'yyyy-MM-dd')) <= 7

集合函数

计算集合大小

select size(array(1,2,3,4)); --结果: 4  

获取map中的key

select map_keys(map('a',1,'b',2,'c',3)); --结果: ["a","b","c"]

获取map中的取值

select map_keys(map('a',1,'b',2,'c',2)); --结果: [1,2,2]

判断数组中是否包含某个值

select array_contains(array(1,2,3,4), 4); --结果: true

数组排序

select sort_array(array(3,2,1,4)); --结果: [1,2,3,4]

拼接为字符串

select concat_ws('_', array('a', 'b', 'c')); --a_b_c

字符串函数

json解析

select get_json_object('{"name":"xyz"}', '$.name'); --xyz

大小写转化

select lower('xYz'); --xyz
select upper('xYz'); --XYZ

条件函数

if条件

select
    if(id is null, 0, id) as id
from
    (
        select
            1 as id
        union all
        select
            null as id
    )

case when

select
    case
        when item_id = 'i1' then 1
        else 0
    end as item_str
from
    order

填充缺失值(nvl)

select
    nvl(id, 0) as id
from
    (
        select
            1 as id
        union all
        select
            null as id
    )

取第一个不为null的值,否则为null

select coalesce(1, null); -- 1
select coalesce(null, 2); -- 2
select coalesce(null, null, 3); -- 3

杂项

数据类型转化

select cast('123' as int);

单行转多行

select explode(array(1,2,3));
--结果:
--1
--2
--3

原文链接:http://codelibrary.tech/2022/02/09/hive/

相关文章

  • Hive sql常见操作

    基本sql操作 hive表操作 分区操作 Hive内置函数 (1)数学函数 常用的数学函数都有:round、flo...

  • PySpark操作Hive的常用语句函数封装包

    目的:将hive常用的查看函数进行封装。

  • Hive常用函数

    1 常见本地文件: 2 上传到hdfs上: 3 下载到指定目录: 4 创建外部表: 5 加载hdfs文件: 加载本...

  • Hive常用函数

    时间函数 数学函数 round 四舍五入((42.3 =>42)) ceil 向上取整(42.3 =>43) fl...

  • hive 常用函数

    问题 1.分组计算各个月的绩效加上总计cuberollupgroup by + union 2.最优差集((max...

  • hive常用函数

    关系运算 1、等值比较: = 语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;...

  • Hive常用函数

    一、窗口函数 1、窗口函数基础结构 窗口函数 = 分析函数 + over函数分析函数:sum ( )、max ( ...

  • Hive常用函数

    一、关系运算: 1. 等值比较: = 举例:Hive>select 1 from lxw_dual where 1...

  • Hive常用函数

    if函数:格式: if( 判断条件, return true , return false )注意: if函数支...

  • hive 常用函数

    查看系统自带的函数 show functions; 显示自带的函数的用法 desc function upper;...

网友评论

      本文标题:Hive常用函数

      本文链接:https://www.haomeiwen.com/subject/xlbzkrtx.html