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

文章目录

  • [1. Map 增删改查](#1. Map 增删改查)
    • [1.1 声明 Map 数据类型](#1.1 声明 Map 数据类型)
    • [1.2 增](#1.2 增)
    • [1.3 删](#1.3 删)
    • [1.4 改](#1.4 改)
    • [1.5 查](#1.5 查)
  • [2. Map 相关函数](#2. Map 相关函数)
    • [2.1 单个Map](#2.1 单个Map)
  • [3. Map 与 String](#3. Map 与 String)
    • [3.1 Map 转 string](#3.1 Map 转 string)
    • [3.2 string 转 Map](#3.2 string 转 Map)

1. Map 增删改查

1.1 声明 Map 数据类型

  1. 语法:map<基本数据类型, 基本数据类型> 注意是<>,不是()
  2. 例子:
    1. 创建表时:

      复制代码
      create table temp_db.map_test(
      	id int comment "源数据主键id",
      	smap map<string,string> comment "string型map",
      	imap map<string,int> comment "int型map"
      );
    2. 字段填充时:cast(null as map<string, string>) as XXX

1.2 增

复制代码
insert into temp_db.map_test(id,smap,imap) 
select 12,map('姓名','张三') as pp,map('年龄',23,'性别',1) as dd;

1.3 删

没有删除,只能覆盖

1.4 改

复制代码
array_name['key'] = 'xxxx'

1.5 查

复制代码
select array_name['key'] ;

注意:数组越界会报错。

2. Map 相关函数

2.1 单个Map

  1. map_keys(map_name):获取该map的所有key,结果是一个Array。
  2. map_keys(map_name):获取该map的所有value,结果是一个Array。
  3. size(map_name):获取该map的键值对个数。
  4. 判断map中是否包含某个key值:array_contains(map_keys(map_name), 'key') 或者 map_name["key"] is not null

3. Map 与 String

3.1 Map 转 string

复制代码
select 
    ...,
    concat_ws(',', collect_list(concat_ws(':', k, v) ) )
from test_map_1
lateral view outer explode(map1) kv as k,v

3.2 string 转 Map

复制代码
select str_to_map("name:zhangsan,age:25");

注意:键值对都没有引号

相关推荐
TTBIGDATA9 小时前
【Ambari Plus】12.Flink 安装
hive·hadoop·flink·ambari·hdp·cdh·bigtop
心中有国也有家11 小时前
Flutter 鸿蒙适配第一步:从 hive 迁移到 hive\_ce
hive·学习·flutter·华为·harmonyos
心中有国也有家14 小时前
鸿蒙 Flutter 本地存储实战:Hive CE 从入门到精讲
人工智能·hive·flutter·华为·harmonyos
AllData公司负责人18 小时前
AIIData数据中台集成OpenMetadata开源项目,成功运行Hive数据血缘拾取任务,支持库级别+表级别+字段级血缘!
大数据·数据库·数据仓库·人工智能·hive·hadoop·开源
KASH_SHADOW4 天前
10-Sqoop的安装与配置
hive·hadoop·sqoop
王小王-12320 天前
基于 Hive 的网易云音乐数据分析及可视化系统
hive·hadoop·数据分析·音乐数据分析·网易云音乐分析·hive音乐分析·hadoop网易云
TPBoreas22 天前
springboot3.5比2.x做了哪儿些提升
数据仓库·hive·hadoop
Nefu_lyh23 天前
【Hive】七、Hive 函数:聚合 / 统计 / 分位数 / 集合 / 高级分组
数据仓库·hive·hadoop
KANGBboy24 天前
hive UDF函数
数据仓库·hive·hadoop
王小王-12325 天前
基于商品评价的评论情感分析与可视化系统
hive·情感分析·商品评价分析·主题分析·商品评论分析