• 2023.11.15 hive函数分类标准


    把之前的内容单独拿出来

    https://blog.csdn.net/m0_49956154/article/details/134413180?spm=1001.2014.3001.5501

    原生分类标准:  内置函数用户定义函数(UDF,UDAF,UDTF)

    分类标准扩大化:  本来,UDF 、UDAF、UDTF这3个标准是针对用户自定义函数分类的; 但是,现在可以将这个分类标准扩大到hive中所有的函数,包括内置函数和自定义函数;

    目前hive三大标准
    UDF:(User-Defined-Function)普通函数:  特点是一进一出(输入一行数据输出一行数据)        举例: split
    UDAF:(User-Defined Aggregation Function)聚合函数: 特点是多进一出(输入多行输出一行)   举例: count sum max  min  avg
    UDTF:(User-Defined Table-Generating Functions)表生成函数:  特点是一进多出(输入一行输出多行)   举例: explode

    查询所有hive函数名称:  show functions;
    查看某函数使用帮助文档: desc function [extended] 函数名;         注意: 加上extended关键字能查看详细信息示例

    -- 查看所有函数
    show functions;

    -- 分类标准扩大化
    -- UDF: 普通函数 特点: 一进一出  举例: split()
    -- 查看官方示例
    describe function extended split;
    -- 演示官方示例
    SELECT split('oneAtwoBthreeCfour', '[ABC]'); -- ["one","two","three","four"]

    -- UDAF: 聚合函数 特点: 多进一出 举例: sum() count() avg() max()  min()
    -- 查看官方示例
    describe function extended count;

    count(*): 不忽略null值统计个数
    count(字段名): 忽略null值统计个数
    count(常量): 举例 : count(1)  count(2)  ...
    count(distinct 字段名): 忽略null值并且去重统计个数
     

    -- UDTF: 表生成函数 特点: 一进多哦出 举例: explode()
    -- 查看官方示例
    describe function extended explode;

    将数组a的元素分成多行,或将映射的元素分成多行和多列
    数组: array[元素1,元素2,元素3...]   array(10,20,30)能够构造出数组[10,20,30]
    映射: map{k1:v1,k2:v2...}  map('a',10,'b',20,'c',30)构造出映射{'a':10,'b':20,'c':30}

    -- 演示炸裂函数
    select explode(array(10,20,30));
    select explode(map('a',10,'b',20,'c',30));

  • 相关阅读:
    游戏设计模式专栏(八):Cocos中最常见的设计模式之一
    vscode 阅读 android以及kernel 源码
    抖音API:item_password-获取douyin分享口令url
    解密 docker 容器内 DNS 解析原理
    继承的内存构造
    CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)
    GTest从入门到入门
    几乎必问,Spring 面试题开胃菜
    数据结构之带头双向循环链表的实现
    .NET混合开发解决方案3 WebView2的进程模型
  • 原文地址:https://blog.csdn.net/m0_49956154/article/details/134454714