hive行转多列LATERAL VIEW explode

源表(table1)数据{A:string B:array<BIGINT> C:string}

A                        
B                               
C

190    
[1030,1031,1032,1033,1190]      select
id
191    
[1030,1031,1032,1033,1190]      select id

希望的结果是:

190    1030  select id

190    1031  select id

190    1032  select id

190    1033  select id

190    1190  select id

191    1030  select id

191    1031  select id

191    1032  select id

191    1033  select id

191    1190  select id

故使用select A,B,C from table_1 LATERAL VIEW explode(B) table1 as B

得到上述结果

hive行转多列LATERAL VIEW explode

时间: 2024-09-28 16:06:20

hive行转多列LATERAL VIEW explode的相关文章

hive使用lateral view explode和split将一行拆多行

问题: 有一个表(表名:book,两个字段:id,desc) id     desc 001    书名: 追风筝的人, ISBN编号: 9787208061644, 作者: 卡勒德.胡赛尼 002    书名: 秘密花园, ISBN编号: 9787550252585, 作者: 乔汉娜·贝斯福 需求: 其中desc字段包含了几个参数信息,需把它拆分开来,一行一个参数,结果如下 001    书名: 追风筝的人 001    ISBN编号: 9787208061644 001     作者: 卡勒

Hive lateral view explode

select 'hello', x from dual lateral view explode(array(1,2,3,4,5)) vt as x 结果是: hello   1 hello   2 hello   3 hello   4 hello   5 来自为知笔记(Wiz)

hive splict, explode, lateral view, concat_ws

hive> create table arrays (x array<string>) > row format delimited fields terminated by '\001' > collection items terminated by '\002' > ; OK Time taken: 0.574 seconds hive> show tables; OK arrays jigou Time taken: 0.15 seconds, Fetch

hive行转列

一.问题 hive如何将 a 1,2,3 b 4,7 c 5 转化成为: a 1 a 2 a 3 b 4 b 7 c 5 二.原始数据 cat row_column.txt a 1,2,3 b 4,7 c 5 三.解决方案 3.1 遍历每一列 3.1.1 创建表 -- 创建表 create table tmp.row_column ( col1 string, col3 string ) row format delimited fields terminated by '\t' stored

hive 行转列 并添加虚列

select regexp_extract(a.col2,'(phonenum=\")(.*?)\"',2) user_device, regexp_extract(a.col13,'(imsicode=\")(.*?)\"',2) imsi, regexp_extract(a.col12,'(imeicode=\")(.*?)\"',2) imei, call_log from (select * from ods_sso_dislocatio

lateral view

原文地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+LateralView# lateral view用于和split, explode等UDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合. 一个简单的例子,假设我们有一张表pageAds,它有两列数据,第一列是pageid string,第二列是adid_list,即用逗号分隔的广告ID集合: string pageid Ar

Lateral View 语法

Lateral View 语法 1 lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)* 2 fromClause: FROM baseTable (lateralView)* Lateral View 描述 Lateral View 用于UDTF(user-defined table generating functions)中将行转成列,和split, explode等U

Lateral View使用指南

https://blog.csdn.net/sunnyyoona/article/details/62894761 select sum(pitem) from (select map_values(repay_principal) principal from dw.dw_xxx) t lateral view explode (t.principal) ptab as pitem 原文地址:https://www.cnblogs.com/0xcafedaddy/p/9560603.html

hive udtf 输入一列返回多行多列

之前说到了hive udf,见https://blog.csdn.net/liu82327114/article/details/80670415 UDTF(User-Defined Table-Generating Functions) 用来解决 输入一行输出多行(On-to-many maping) 的需求. 继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,实现initialize, process, close三个方法. UDTF首先