当前位置: 首页 > news >正文

saas 做网站seo免费软件

saas 做网站,seo免费软件,做慧聪网站多少钱,做网站在后台如何添加链接Hive与Presto列转行的区别 1、背景描述2、Hive/Spark列转行3、Presto列转行 1、背景描述 在处理数据时,我们经常会遇到一个字段存储多个值,这时需要把一行数据转换为多行数据,形成标准的结构化数据 例如,将下面的两列数据并列转换…

Hive与Presto列转行的区别

    • 1、背景描述
    • 2、Hive/Spark列转行
    • 3、Presto列转行



1、背景描述


在处理数据时,我们经常会遇到一个字段存储多个值,这时需要把一行数据转换为多行数据,形成标准的结构化数据

例如,将下面的两列数据并列转换为三行,使得codename一一对应

idcodename
1a、b、cA、B、C

Hive、Spark和Presto都提供了这种实现,但有所不同。下面通过这个案例介绍三者之间的区别及注意事项

2、Hive/Spark列转行


Hive和Spark都可以使用lateral view posexplode实现:

select id, pos1, sub_code, pos2, sub_name from tmp
lateral view posexplode(split(code,'、')) v1 as pos1, sub_code
lateral view posexplode(split(name,'、')) v2 as pos2, sub_name
where id='1' and pos1=pos2

Hive On MapReduce与Hive On Spark的执行结果如下:

idsub_codesub_name
1aA
1bB
1cC

值得注意的是,lateral view posexplode会自动过滤被转换列字段值为空的数据,进而导致数据丢失

优化方案是将lateral view修改为lateral view outer后尝试

更多关于lateral view UDTF的使用见文章:传送门

3、Presto列转行


使用PrestoSQL的交叉连接cross join unnest实现:

with t1 as(select id,sub_code,row_number() over() rnfrom tempcross join unnest(split(code, '、')) as t (sub_code)where id='1'
),
t2 as (select id,sub_name,row_number() over() rnfrom tempcross join unnest(split(name, '、')) as t (sub_name)where id='1'
)
select t1.id, t1.sub_code, t2.sub_name
from t1
left join t2 
on t1.rn = t2.rn
order by t1.rn

PrestoSQL的执行结果如下:

idsub_codesub_name
1bB
1aA
1cC

需要注意的是,cross join unnest不会自动过滤被转换列和转换列字段值为空的数据,因此此方式数据不会丢失

例如,当转换列字段值存在空值时:

idcodename
1a、b、cA、B

cross join unnest列转行的结果为

idsub_codesub_name
1aA
1cNULL
1bB

当被转换列字段值存在空值时:

idcodename
1a、b、cNULL

cross join unnest列转行的结果为

idsub_codesub_name
1bNULL
1aNULL
1cNULL


http://www.khdw.cn/news/44424.html

相关文章:

  • 做网站运营需要注意哪些问题seo网页优化公司
  • 做网站 广州搜索引擎公司排名
  • 滨江网站制作seo网络推广有哪些
  • 做网站要什么语言国内能用的搜索引擎
  • 企业登记网上注册西安seo优化
  • 九洲建设集团网站做网站需要准备什么
  • 晋城市 制作网站seo基础优化包括哪些内容
  • 网站正在建设中html5南宁优化网站收费
  • 上海网站设计联系方式微指数
  • 福建福州罗源建设局网站b站视频推广网站2023年
  • 做啥网站赚钱四川seo整站优化吧
  • 做微信的网站有哪些功能吗网络推广的几种方式
  • 宜宾网站建设公司应用下载app排行榜
  • 徐州城乡建设网站整合营销策划方案模板
  • 百度快照手机版seo优化轻松seo优化排名
  • 2015做啥网站能致富cms建站
  • c 中怎么用html5做网站东莞优化seo
  • 深圳做网站知名排行全球新冠疫情最新消息
  • 怎样分析网站做seo网络营销的概念及特点
  • 宜兴做网站哪家好seo搜索引擎优化工作内容
  • 南宁做网站在哪了免费推广的app有哪些
  • wordpress添加页面模块seo软件视频教程
  • 抖音代运营服务协议seo诊断书
  • 28预测网站开发上海谷歌推广
  • 建设银行六安市分行网站品牌营销推广策划方案
  • c 微信网站开发seo优化网站词
  • 郑州网站建设报价表百度直播
  • 中国卫生健康网入口昆明seo优化
  • 菠菜网站的代理怎么做新闻最新消息今天
  • 网站建设方案页面设计分析seo深度优化公司