1. map 结构

    map 构造函数
    语法:map(k1,v1,k2,v2,…)
    操作类型:map
    说明:使用给定的 key-value 对,构造一个 map 数据结构

    hive> select map('k1','v1','k2','v2') from iteblog;
    OK
    {"k2":"v2","k1":"v1"}
    
    hive> Create table iteblog as select map('100','tom','200','mary') as t from iteblog;
    hive> describe iteblog;
    t       map<string ,string>
    hive> select t from iteblog;
    {"100":"tom","200":"mary"}
    

    获取 map 中的元素M[key]
    语法:M[key]
    操作类型:所有基础类型。M为map类型,key为map中的key值
    说明:返回 map 结构 M 中 key 对应的 value,没有对应的 key 返回 NULL。
    比如:M是值为{‘f’ -> ‘foo’, ‘b’ -> ‘bar’, ‘all’ -> ‘foobar’}的map类型,那么M[‘all’]将会返回’foobar’

    hive> select map('k1','v1','k2','v2')['k1'] from iteblog;
    OK
    v1
    hive> select map('k1','v1','k2','v2')['k3'] from iteblog;
    OK
    NULL
    
    hive> Create table iteblog as select map('100','tom','200','mary') as t from iteblog;
    hive> select t['200'],t['100'] from iteblog;
    mary    tom
    

    Map类型长度函数: size(Map<k .V>)
    语法: size(Map<k .V>)
    返回值: int
    说明: 返回map类型的长度

    hive> select size(map('100','tom','101','mary')) from iteblog;
    2
    
  2. struct 结构

    struct 构造函数
    语法:struct(val1,val2,val3,…)
    操作类型:struct
    说明:使用给定的表达式,构造一个 struct 数据结构

    hive> select struct(1,'aaa',FALSE) from iteblog;
    OK
    {"col1":1,"col2":"aaa","col3":false}
    
    hive> create table iteblog as select struct('tom','mary','tim') as t from iteblog;
    hive> describe iteblog;
    t       struct<col1:string ,col2:string,col3:string>
    hive> select t from iteblog;
    {"col1":"tom","col2":"mary","col3":"tim"}
    

    获取 struct 中的元素 S.x
    语法:S.x
    操作类型:所有类型。S为struct类型
    说明:返回 struct 结构 S 中名为 x 的元素。
    比如:对于结构体struct foobar {int foo, int bar},foobar.foo返回结构体中的foo字段

    hive> select named_struct('a',1,'b','aaa','c',FALSE).c from iteblog;
    OK
    false
    
    hive> create table iteblog as select struct('tom','mary','tim') as t from iteblog;
    hive> describe iteblog;
    t       struct<col1:string ,col2:string,col3:string>
    hive> select t.col1,t.col3 from iteblog;
    tom     tim
    
  3. array 结构

    array 构造函数
    语法:array(val1,val2,val3,…)
    操作类型:array
    说明:使用给定的表达式,构造一个 array 数据结构

    hive> select array(1,2,3) from iteblog;
    OK
    [1,2,3]
    
    hive> create table iteblog as select array("tom","mary","tim") as t from iteblog;
    hive> describe iteblog;
    t       array<string>
    hive> select t from iteblog;
    ["tom","mary","tim"]
    

    获取 array 中的元素 A[n]
    语法:A[n]
    操作类型:所有基础类型
    说明:返回数组 A 中第 n 个索引的元素值,数组的起始下标为0。
    比如:A是值为[‘foo’, ‘bar’]的数组类型,那么A[0]将返回’foo’,而A[1]将返回’bar’

    hive> select array('a','b','c')[1] from iteblog;
    OK
    b
    
    hive> create table iteblog as select array("tom","mary","tim") as t from iteblog;
    hive> select t[0],t[1],t[2] from iteblog;
    tom     mary    tim
    

    array类型长度函数: size(Array)
    语法: size(Array)
    返回值: int
    说明: 返回array类型的长度

    hive> select size(array('100','101','102','103')) from iteblog;
    4
    
  4. named_struct 结构
    语法:named_struct(name1,val1,name2,val2,name3,val3,…)
    操作类型:struct
    说明:使用给定的表达式,构造一个指定列名的 struct 数据结构

    hive> select named_struct('a',1,'b','aaa','c',FALSE) from iteblog;
    OK
    {"a":1,"b":"aaa","c":false}
    
  5. create_union
    语法:create_union (tag, val1, val2, …)
    操作类型:uniontype
    说明:使用给定的 tag 和表达式,构造一个 uniontype 数据结构。tag 表示使用第 tag 个
    表达式作为 uniontype 的 value

    hive> select create_union(0,'ss',array(1,2,3)) from iteblog;
    OK
    {0:"ss"}
    hive> select create_union(1,'ss',array(1,2,3)) from iteblog;
    OK
    {1:[1,2,3]}
    hive> select create_union(2,'ss',array(1,2,3),'aa') from iteblog;
    OK
    {2:'aa'}
    

Hive常用函数 -- 复合类型构造函数相关推荐

  1. Hive常用函数大全一览

    Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...

  2. HIVE 常用函数总结

    HIVE 常用函数总结 hive 函数比较多,之前总是随用随查,今天把常用的函数总结一下,以后方便查阅. 本文主要涉及以下几个大面: 1.Hive函数介绍以及内置函数查看 内容较多,见<Hive ...

  3. 最详细的HIve常用函数整理及案例演示

    Hive常用函数 一.测试数据集 1.1 测试数据集: 1.2 结果展示 二.常用函数 2.1 关系运算 2.1.1 常见关系运算符 2.1.2 空值判断 2.1.3 非空判断 2.1.4 LIKE ...

  4. hive常用函数(一)

    hive常用函数一般分为下面几个部分: 算数运算符:+,- ,*, / 关系运算符:== , <>(不等于) , > , >= , < , <= 逻辑运算符:and ...

  5. Hive常用函数 - abs

    Hive常用函数 - abs 官方解释 abs(x) - returns the absolute value of x 个人理解 就是返回函数括号内数字的绝对值. 想要获取该数的绝对值的时候就用这个 ...

  6. Hive常用函数大全

    目录 第1章 算数运算 1.1 加法: + 1.2 减法: - 1.3 乘法: * 1.4 除法: / 1.5 取余: % 1.6 位与: & 1.7 位或: | 1.8 位异或: ^ 1.9 ...

  7. hive常用函数之其他函数

    九.复合类型构建操作 1. Map类型构建: map 语法: map (key1, value1, key2, value2,-) 说明:根据输入的key和value对构建map类型 举例: hive ...

  8. Hive常用函数、列转行与行转列、开窗函数、UDF、UDTF

    Hive函数.开窗函数.UDF.UDTF 1.系统内置函数 2.常用函数 2.1.关系运算 2.2.数值运算 2.3.条件函数 2.4.日期函数 2.5.字符串函数 2.6.Hive求WordCoun ...

  9. Hive常用函数(日期函数,取整函数,字符串操作函数,集合操作函数)

    常用函数 常用日期函数 常用取整函数 常用字符串操作函数 集合操作函数 多维分析 常用日期函数 unix_timestamp:返回当前或指定时间的时间戳 select unix_timestamp() ...

最新文章

  1. c是编译语言吗,将语言编译为C是一个好主意吗?
  2. 树莓派:linux库概念及相关编程(面试重点):以及USB端口号找到不的情况
  3. DG备库磁盘空间满导致无法创建归档
  4. ps字体识别_PS字体包免费送:艺术+时尚+炫酷+复古等5000多款字体,由你来选择
  5. 完整的WebApplication JSF EJB JPA JAAS –第2部分
  6. SpringMVC源码阅读(三)
  7. linux qt读取显示图片,QT学习篇(二) 使用QPixmap显示一张图片
  8. 中断 http请求 正在加载 取消http请求
  9. 计算机化学的dft的意义,第四章 密度泛函理论(DFT) 4.1 引言 4.2 DFT的优点 4.3 Hohenberg-Kohn定理 4.4 能量泛函公式...
  10. 线下实体零售门店如何做好会员运营管理系统?
  11. 串口通信实验(通过串口控制LED、蜂鸣器)
  12. MATLAB求最大值max函数
  13. 软件项目中的角色以及英文简称
  14. 利用selenium获取接口数据
  15. D630,vista sp2,4GB Turbo Memory,ITMService.exe(SmartPinService),Posses lots of CPU Resources
  16. php通过JODConverter将word转换为pdf
  17. Android Studio 单击按钮放大字体
  18. 销售人员如何利用好企业微信crm?
  19. 网络基础知识——交换机路由器
  20. 使用luckysheet实现excel导入导出

热门文章

  1. HTML保姆级教程(三)表单标签
  2. python元组和列表字典_Python【列表 字典 元组】
  3. latex的图的排列方法_latex两幅图上下排列
  4. 强制清空浏览器缓存与无视管理员权限删除应用
  5. 如何在技术海洋里找到适合自己的方向?
  6. springBoot中jetty tomcat undertow对比与undertow线程池配置
  7. Python教你app如何限时试用
  8. leetcode 1110. 删点成林
  9. 绩效管理体系-OKR
  10. 网络安全 (十 后渗透)