hive中split函数相关总结

目录

  • split函数
  • 示例
  • 实战
  • 注意事项

split 函数一直再用,居然发现没有总结,遂补充一下;

split函数

在Hive中,split函数用于将一个字符串根据指定的分隔符进行分割,并返回一个数组。它的语法如下:

split(str, pat)

示例

假设有一个包含逗号分隔的字符串"apple,banana,orange",我们可以使用split函数按逗号分割这个字符串,并返回一个包含"apple"、"banana"和"orange"的数组:

SELECT split('apple,banana,orange', ',');

实战

select  imei,split(content_id,'\\_')[0] as source,sum(play_cnt ) as play_cnt
from  table_1
grouo by imei,split(content_id,'\\_')[0]

注意事项

1.split 分割后是形成一个数组,如果取第一个值,这个和取数组第一个值是类似的,取下标,所以第一个值的下标为0;
2.与截取函数比较substr从第1位截取到10位,是substr(contend_id,1,10),这个是从1开始的,需要区别开;
3.当涉及稍微复杂的例子时,我们可以考虑使用split函数来处理包含更多分隔符的字符串,并结合LATERAL VIEW和explode函数来展开数组;
比如以下例子:

SELECT id, prop
FROM table1
LATERAL VIEW explode(split(properties, ',')) propTable AS prop;

4.切割时,当逗号作为分隔符时,保持不变,其他多数时候要加转义,如split(properties,‘\_’),split(properties,‘,’)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】成功解决ModuleNotFoundError: No module named ‘matplotlib‘

【Python】成功解决ModuleNotFoundError: No module named ‘matplotlib’ 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448…

PyCharm如何添加python库

1.使用pip命令在国内源下载需要的库 下面使用清华源,在cmd中输入如下命令就可以了 pip install i https://pypi.tuna.tsinghua.edu.cn/simple 包名版本号2.如果出现报错信息,Cannot unpack file…这种情况,比如下面这种 ERROR: Cannot unpa…

数据结构奇妙旅程之二叉平衡树

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

图神经网络实战(4)——基于Node2Vec改进嵌入质量

图神经网络实战(4)——基于Node2Vec改进嵌入质量 0. 前言1. Node2Vec 架构1.2 定义邻居1.2 在随机游走中引入偏向性1.3 实现有偏随机游走 2. 实现 Node2Vec小结系列链接 0. 前言 Node2Vec 是一种基于 DeepWalk 的架构,DeepWalk 主要由随机游…

深入理解nginx upstream共享内存机制

目录 1. 概述2. 开启upstream共享内存机制3. 源码分析3.1 配置指令分析3.2 共享内存区的初始化1. 概述 我们知道,nginx的配置是由主进程来加载到内存的,然后fork出各个worker进程,而worker进程自然继承了主进程的内存状态,所以worker进程自然有了加载好的配置信息。然而,每…

北约 / 多个国家地区的 数据链 汇总

战术数据链 编号用途说明Link-1地地北约用于NADGE(北约地面防空系统)的雷达情报数据传输Link-2地地其功能类似于Link-1,用于北约陆基雷达站间的数据传输,现已停止发展Link-3地地类似于Link-14的低速电报数据链,用于某些防空预警单元Link-4空…

python实现--分块查找

python实现–顺序查找 python实现–折半查找 python实现–分块查找 python实现B/B树 分块查找(Block Search),也称为索引顺序查找,是一种结合顺序查找和索引查找思想的查找算法。它适用于线性表中数据量较大,但是分布不…

qt 格式化打印 日志 QMessagePattern 格式词法语法及设置

一、qt源码格式化日志 关键内部类 QMessagePattern qt为 格式化打印日志 提供了一个简易的 pattern(模式/格式) 词法解析的简易的内部类QMessagePattern,作用是获取和解析自定义的日志格式信息。 该类在qt的专门精心日志操作的源码文件Src\qtbase\src\corelib\global\qloggi…

[LeetCode][226]翻转二叉树

题目 226. 翻转二叉树 给你一棵二叉树的根节点 root,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3] 输出&#x…

深度学习500问——Chapter02:机器学习基础(5)

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 2.14 贝叶斯分类器 2.14.1 图解极大似然估计 极大似然估计的原理,用一张图片来说明,如下图所示: 例:有两个外形完全相同的箱子,1号箱…

重学SpringBoot3-内容协商机制

重学SpringBoot3-内容协商机制 ContentNegotiationConfigurer接口配置内容协商URL参数Accept头使用Url扩展名 自定义内容协商格式步骤1: 注册自定义媒体类型步骤2: 实现HttpMessageConverter接口步骤3: 使用自定义HttpMessageConverter 注意点 在 Spring Boot 3 中,…

linux系统Docker容器Dockerfile示例

Dockerfile示例 可以使用systemctl命令的镜像Dockerfile 基于centos7创建mysql镜像Dockerfilemysql.sh 可以使用systemctl命令的镜像 Dockerfile vim DockerfileFROM centos:7 ENV container dockerRUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs R…

SQL中如何添加数据:基础指南

在数据库管理系统中,添加数据是一项常见的任务。无论是向现有表中添加新行,还是创建新表并插入数据,都需要使用SQL(Structured Query Language)语句来执行。本文将介绍SQL中如何添加数据的基本方法,以及一些…

vue学习笔记21-组件传递数据_Props

组件与组件之间不是完全独立的&#xff0c;而是有交集的&#xff0c;那就是组件与组件之间是可以传递数据的 传递数据的解决方案就是props 父级&#xff1a; 在父级中引入子集 <template><h3>Parent</h3><Child/> </template><script> i…

PyCaret(Python自动化机器学习)自定义交互式解释性模型

要点 PyCaret代码实现数学定义分类、聚类、异常检测和自然语言处理模型PyCaret模型创建模型和数据分析&#xff1a;身体质量指数回归模型探索性数据分析&#xff0c;植物物种分类模型预测&#xff0c;合成数据聚类模型探索性数据分析&#xff0c;批发商客户异常检测模型探索性…

GFP-GAN环境搭建推理测试

引子 近期&#xff0c;文生图&#xff0c;wav2lip很火&#xff0c;文生图&#xff0c;见识的太多&#xff0c;不多说了。wav2lip其通过语音驱动唇部动作并对视频质量进行修复&#xff0c;里面一般涉及到三个步骤&#xff0c;文本到语音转化&#xff0c;语音驱动唇部动作&#…

YOLOv9/YOLOv8算法改进【NO.103】引入YOLOv9提出模块RepNCSPELAN模块,亲测有效

前 言 YOLO算法改进系列出到这,很多朋友问改进如何选择是最佳的,下面我就根据个人多年的写作发文章以及指导发文章的经验来看,按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通: 首推,是将两种最新推出算法的模块进行融合形成…

【C++初阶】第五站:C/C++内存管理 (匹配使用,干货到位)

前言&#xff1a; 本文知识点&#xff1a; 1. C/C内存分布2. C语言中动态内存管理方式3. C中动态内存管理4. operator new与operator delete函数 5. new和delete的实现原理 &#xff08;干货在此&#xff09; 6. 定位new表达式(placement-new)7. 常见面试题 目录 C/C内…

Linux操作系统内核参数调优-2

1. 请解释Linux内核参数调优的目的和重要性。 Linux内核参数调优的目的主要是提高系统性能、稳定性和安全性。它的重要性体现在以下几个方面&#xff1a; 提升系统性能&#xff1a;通过调整内核参数&#xff0c;可以使系统更高效地利用硬件资源&#xff0c;例如CPU、内存和I/…

Java反射、枚举类和lambda表达式

前言&#xff1a; 本章我们就来了解Java中的反射和枚举类。枚举类和反射其实有些关系&#xff0c;接下来我们就来学习他们的使用。 反射&#xff1a; 反射的作用&#xff1a; 反射&#xff1a;反射允许对成员变量&#xff0c;成员方法和构造方法的信息进行编程访问。 Java中有…