[Hive]Hive将一行记录拆分成多行

业务背景

hive表test_user_browse记录了用户浏览过的商品,该表的数据如下:

username product
John product_a,product_b,product_c,product_d
Tom product_e,product_f

现在,想要将product字段拆分为多行。

实现方式

现在借助lateral view explode()来完成。

select
    username,
    browse_product
from pms.test_user_browse
lateral view explode(split(product, ‘,‘)) myTable as browse_product;

执行结果如下:

username    browse_product
John        product_a
John        product_b
John        product_c
John        product_d
Tom         product_e
Tom         product_f

lateral view的介绍可以参见lateral view

时间: 2024-08-25 02:39:47

[Hive]Hive将一行记录拆分成多行的相关文章

字符串分割函数--拆分成多行(转)

--字符串拆分成行 declare @str varchar(8000)  set @str = 'a1,b1,c2,d1,e3,f5'  --,换成 union all select set @str = 'select  name='''+replace(@str,',',''' union all select ''')+''''  exec(@str) /*name  ----  a1 b1 c2 d1 e3 f5 */ --字符串分割函数--拆分成多行 create function

SQL SERVER 一行按照某个由分隔符拼接的字段拆分成多行

数据库应用系统经常会遇到,某个字段存储通过分隔符来连接键值字符串,例如下表FileHistory 结构中列:Keywords 我们可能在某些业务场景下转换成以下形式: 首先,创建sql 函数,将拼接的字符串拆分成table CREATE FUNCTION [dbo].[UF_SplitStringToTable]( @sInputList VARCHAR(MAX) -- List of delimited items , @sDelimiter VARCHAR(20) = ',' -- deli

oracle 将一行拆分成多行

DROP TABLE TEST PURGE ;CREATE TABLE TEST (po_number VARCHAR2(16),product_name VARCHAR2(64),quantity NUMBER);INSERT INTO TEST VALUES('CJ201300048','TP-LINK网络交换机TP-1024DT ', 2);INSERT INTO TEST VALUES('CJ201300049','汉邦4路/特顿 600线半球/希捷硬盘500G',1);INSERT I

sqlserver2008 合并行 拆分成多行

SELECT vchBoxNumberNew, data=STUFF((SELECT ';'+vchBloodNo FROM dbo.tbPlasma WHERE vchBoxNumberNew=a.vchBoxNumberNew FOR XML PATH('')), 1, 1, '')FROM dbo.tbPlasma awhere vchBoxNumberNew='2014HL000001'GROUP BY a.vchBoxNumberNew with tmpTable as ( SELEC

Pandas: 如何将一列中的文本拆分为多行? | Python

Pandas: 如何将一列中的文本拆分为多行? 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别填入多行中的数据,被填在一行里了,然而在分析的时候,需要拆分成为多行. 在上图中,列名为”Country” ,index为4和5的单元格内,值为”UK/Australia”和”UK/Netherland”. 今天,我们来介绍将含有多值的内容分拆成多行的几种方法. 加载数据 PS:可以通过左右滑动来查看代码 import pandas as pd df = pd.DataFrame({

[Hive]Hive自定义函数UDF

当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数 用户自定义函数(user defined function),针对单条记录. 编写一个UDF,需要继承UDF类,并实现evaluate()函数.在查询执行过程中,查询中对应的每个应用到这个函数的地方都会对这个类进行实例化.对于每行输入都会调用到evaluate()函数.而evaluate()函数处理的值会返回给Hive.同时用户是可以重载evaluate方法的.Hive会像Java的方法重载一样,自动选择匹配的

[Hive] - Hive参数含义详解

hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以及当前hive会话定义的环境变量信息.其中第三种hive参数变量信息中又由hadoop hdfs参数(直接是hadoop的).mapreduce参数.metastore元数据存储参数.metastore连接参数以及hive运行参数构成. Hive-0.13.1-cdh5.3.6参数变量信息详解 参数

Oracle通过一个字段的值将一条记录拆分为多条记录

前言 之前遇到了一次这样的需求,当时没有记录,这一次又赶上了,简单的记录一下. 本文个人拙见,若有出入,请指出--来自菜的颤抖 场景 表A中存放了集装箱的信息,一个集装箱一条记录,表B中存放了对于集装箱操作的指令,一条指令包括多个集装箱箱号,通过分号;切割(TCIU2347687;XUTR3546865),现在的需求是,对于已经在指令表B中的集装箱,在查询表A时需要过滤掉. 很容易想到的是not in, 然而分号分割. 其次,not like,然而[Err] ORA-01427: 单行子查询返回

sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表

USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9:07:38 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: HXQ-- Create date: 2016年8月9日18:0