摸鱼大数据——Hive函数13

2024-06-02 15:04
文章标签 数据 函数 13 hive 摸鱼

本文主要是介绍摸鱼大数据——Hive函数13,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

13.1 行转列(收缩)

collect_set(字段名): 把多个数据放到一个set集合中,会对数据进行去重处理
collect_list(字段名): 把多个数据放到一个list集合中,不会对数据进行去重处理
​
把多个子串用指定分隔符拼接成一个大字符串: concat_ws("分隔符号",字段名称1,字段名称2..)
注意: concat_ws只能针对字符串内容进行拼接,不支持数值,需要使用cast进行类型转换。

需求:

示例:

use day09;
​
-- 行转列
create table row_2_column(col1 string,col2 string,col3 int
)row format delimited fields terminated by '\t';
​
-- 导入数据
load data inpath '/dir/r2c2.txt' into table row_2_column;
​
-- 验证数据
select * from row_2_column;
​
-- 行转列
/*sql编写思路:先写整体,再对局部地方进行细化。先易后难,先写你会的,再写你不会*/
describe function extended collect_list;
selectcol1,col2,collect_set(col3) as set_col3s,collect_list(col3) as list_col3s,concat_ws("_",collect_list(cast(col3 as string))) as col3_str
from row_2_column
group by col1, col2;

13.2 列转行(扩展)

把字符串按照指定分隔符切割: split(字段名称,分隔符号)

需求:

示例:

-- 列转行:explode+lateral view
create table column_2_row(col1 string,col2 string,col3 string
)row format delimited fields terminated by '\t';
​
-- 导入数据
load data inpath '/dir/c2r2.txt' into table column_2_row;
​
-- 验证数据
select * from column_2_row;
​
-- 列转行:explode+lateral view
selectcol1,col2,new_col3
from column_2_row
lateral view explode(split(col3,",")) col3_view as new_col3;
​
-- 细节测试语句
selectexplode(split(col3,",")) as col3s -- split切分以后得到是array数据类型
from column_2_row;

这篇关于摸鱼大数据——Hive函数13的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024308

相关文章

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN