【Hive】HQL Array 『CRUD | 相关函数』

这篇具有很好参考价值的文章主要介绍了【Hive】HQL Array 『CRUD | 相关函数』。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Array 增删改查

1.1 声明 Array 数据类型

  1. 语法:array<基本数据类型> 注意是<>,不是()
  2. 例子:
    1. 创建表时:
      create table temp_db.array_test (
      	id int comment '源数据主键id',
      	 year_arr array<string> comment '数组记录,年份',
      	 score_arr array<string> comment '数组记录,分数'
      );
      
    2. 字段填充时:cast(null as array<string>) as XXX

1.2 增

insert into  temp_db.array_test (id,year_arr,score_arr)
select 12,array('1991','1990','1989'),array('56','20','23');

1.3 删

没有删除,只能覆盖

1.4 改

array_name[2] = 'xxxx'

1.5 查

select array_name[2] ;

注意:数组越界会报错。

2. Array 相关函数

2.1 数组

  1. array():创建一个数组。例如,array(1,2,3)将创建一个包含1、2、3三个元素的数组。
  2. array_max(array):返回数组中的最大值。例如,array_max(array(1,2,3))将返回3。
  3. array_min(array):返回数组中的最小值。例如,array_min(array(1,2,3))将返回1。
  4. array_join(array, delimiter):使用指定的分隔符将数组中的元素连接成一个字符串。例如,6. array_join(array(1,2,3), ‘,’)将返回字符串"1,2,3"。【这个不常用,通常用concat_ws函数
  5. array_sort(array):返回一个按升序排序的数组。例如,array_sort(array(3,1,2))将返回数组(1,2,3)。

2.2 数组与元素

  1. array_contains(array, value):判断数组中是否包含指定的值。例如,array_contains(array(1,2,3), 2)将返回true。

  2. array_position(array, value):返回value在数组中的位置,如果不存在则返回0。例如,array_position(array(1,2,3), 2)将返回2。

  3. array_remove(array, value):返回一个包含所有不等于value的元素的数组。例如,array_remove(array(1,2,3), 2)将返回数组(1,3)。

  4. 访问元素:直接使用 [] 来取得数组元素,例如:a[1]

    SELECT split('ab_cd_ef', '_')[1];
    

    注意:如果数组元素为空或索引超出范围,则返回 NULL。

2.3 两个数组

  1. array_except(array1, array2):返回一个包含所有在array1中但不在array2中的元素的数组。例如,array_except(array(1,2,3), array(2,4))将返回数组(1,3)。

  2. array_intersect(array1, array2):返回一个包含所有同时在array1和array2中的元素的数组。例如,array_intersect(array(1,2,3), array(2,3,4))将返回数组(2,3)。文章来源地址https://www.toymoban.com/news/detail-665492.html

到了这里,关于【Hive】HQL Array 『CRUD | 相关函数』的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive中的复杂数据类型 - array、map、struct

    水善利万物而不争,处众人之所恶,故几于道💦 一、简单数据类型(复习) 官方数据类型详情页 数据类型 描述 范围 tinyint 1byte有符号整数 from -128 to 127 smallint 2byte有符号整数 from -32,768 to 32,767 int 4byte有符号整数 from -2,147,483,648 to 2,147,483,647 bigint 8byte有符号整数 from -9,223,37

    2024年03月12日
    浏览(47)
  • HIVE SQL 中 HQL 语句理解

         HQL DQL指的是 数据查询语句, 主要是对 表数据进行查询操作的. MySQL中 单表查询语句 完整格式如下:     select distinct 列1, 列2... from 表名     where 组前筛选     group by 分组字段     having 组后筛选     order by 排序字段 [asc/desc]     limit 起始索引, 数据条数; Hive中 单表

    2024年01月25日
    浏览(76)
  • 【大数据之Hive】十六、Hive-HQL函数之窗口函数(开窗函数)

      先定义了窗口的大小(按行来算),然后对窗口内的行的数据进行计算,再将计算结果返回给改行。   窗口函数包括窗口和函数两部分,窗口用于定义计算范围,函数用于定义计算逻辑,窗口函数只会在原来的表上增加一列结果列,不改变原来的数据。 函数:   绝

    2024年02月11日
    浏览(37)
  • hive lateral view 实践记录(Array和Map数据类型)

    目录 一、Array 1.建表并插入数据  2.lateral view explode 二、Map 1、建表并插入数据 2、lateral view explode() 3、查询数据 正确插入数据: 原数据 结果:  --------最开始错误的插入数据法-------  原数据  step1: step2: 备注: 比原表数据少了 双引号 综上,以上的插入数据是不对的!!

    2024年02月11日
    浏览(36)
  • hql、数据仓库、sql调优、hive sql、python

    HQL(Hibernate Query Language) 是面向对象的查询语言 SQL的操作对象是数据列、表等数据库数据 ; 而HQL操作的是类、实例、属性 数据仓库的定义 英文名称为Data Warehouse,可简写为DW或DWH。 为企业级别的决策制定过程,提供所有类型数据支持的战略集合。 它出于分析性报告和决策支持

    2024年02月03日
    浏览(59)
  • 【大数据之Hive】十三、Hive-HQL函数之单行函数和高级聚合函数

      Hive内置函数:单行函数、聚合函数、炸裂函数、窗口函数。   单行函数的特点是一进一出,即输入一行,输出一行;包括算数运算函数、数值函数、字符串函数、日期函数、流程控制函数、集合函数等。 3.1 substring 截取字符串 语法: 3.2 replace 全局替换 语法: 3.3 re

    2024年02月09日
    浏览(43)
  • hql(hive sql)中的join及踩过的坑

    1 几种join方式 join join 对应于 inner join 内连接。 当多张表进行 join 的时候,所有表中与 on 条件中匹配的数据才会显示。 hql (即 hive sql )的 on 子句中只支持 and ,不支持 or ,也不支持 null 的对比。 left outer join 左外连接,也称为左连接。 以左表为基准,如果右表有条件匹配

    2024年01月21日
    浏览(36)
  • Numpy || np.array()函数用法指南

    numpy ndarray对象是一个n维数组对象,ndarray只能存储一系列相同元素。 numpy.array()使用说明:object是必须输入的参数,其余为可选参数。 创建存储元素类型不同的数组: 创建生成器: 当输入的object元素有不同类型时,将保留存储空间最大的类型: 当多维数组元素个数不一致时:

    2024年01月24日
    浏览(47)
  • [Exceptions]hive Cannot convert column xx from void to array<int>.

    写hive sql的时候,用null给复杂类型的列赋值了。null不能转成对应的复杂类型而导致的报错。比如我这次要做的是c、b表有复杂类型这一列。a表没有。要把a表数据导入c,用的 insert into table c select a.*,null from a .就会报错。null这个值,在读取数据的时候,没有值会返回null,用来

    2024年02月11日
    浏览(46)
  • Hive Sql 大全(hive函数,hive表)

    本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一、DDL语句(数据定义语句): 对数据库的操作:包含创建、修改数据库 对数据表的操作:分为内部表及外部表,分区表和分桶表 二、DQL语句(数据查询语句): 单表查询、关联查询 hive函数

    2024年02月19日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包