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

程序开源网站如何建立自己的企业网站

程序开源网站,如何建立自己的企业网站,网站建设中 即将上线html5源代码,徐州市铜山区建设局网站一、问题描述 日常工作中我们经常会遇到一些非结构化数据,因此常常会将Lateral View 结合explode使用,达到将非结构化数据转化成结构化数据的目的,但是该方法对应explode的内容是有非null限制的,否则就有可能造成数据缺失。 SE…

一、问题描述

日常工作中我们经常会遇到一些非结构化数据,因此常常会将Lateral View 结合explode使用,达到将非结构化数据转化成结构化数据的目的,但是该方法对应explode的内容是有非null限制的,否则就有可能造成数据缺失。
在这里插入图片描述

SELECT name,info
FROM(SELECT name,split(info_list,',') as info_arraryFROM (select '张三' as name,'1,2,3' as info_listunion allselect '李四' as name,null as info_list) t1     -- 构造测试数据) t2
LATERAL VIEW explode(t2.info_arrary) a as info ;

查询结果:
在这里插入图片描述

查看结果我们可以发现 ‘李四’ 这条数据数据丢了,这就会造成我们最终统计的数据出现错误。

二、查找原因

通过定位我们可以发现 ‘李四’ 这一行的info字段为null,其split之后的结果自然也是为null,通过LATERAL VIEW explode之后会形成一个为null的view,这样无法关联出数据,该数据就会丢失。

三、解决办法(建议使用方法二)

3.1 方法一

对子查询中的split结果强制使用coalesce()方法,将null替换成一个为[’’]的数组,直接这么写会误以为string字符串。我们可以使用split(’’,’’)构造出一个[’’]数组,改写后的语句如下

SELECT name,info
FROM(SELECT name,coalesce(split(info_list,','),split('','')) as info_arraryFROM (select '张三' as name,'1,2,3' as info_listunion allselect '李四' as name,null as info_list) t1     -- 构造测试数据) t2
LATERAL VIEW OUTER explode(t2.info_arrary) a as info ;

在这里插入图片描述
请注意 ‘李四’ 的结果为空字符,不是null。

3.2 方法二

使用官方提供的LATERAL VIEW OUTER来进行解决,该方法类似于left outer join,即如果explode出来的结果为null,也会保留记录,只不过对应字段为null,改写后的语句如下:

SELECT name,info
FROM(SELECT name,split(info_list,',') as info_arraryFROM (select '张三' as name,'1,2,3' as info_listunion allselect '李四' as name,null as info_list) t1     -- 构造测试数据) t2
LATERAL VIEW OUTER explode(t2.info_arrary) a as info ;

查询结果:
在这里插入图片描述

请注意 ‘李四’ 的结果为null,而不是空字符。

以下是官方文档关于该用法的解释:

The user can specify the optional OUTER keyword to generate rows even when a LATERAL VIEW usually would not generate a row. This happens when the UDTF used does not generate any rows which happens easily with explode when the column to explode is empty. In this case the source row would never appear in the results. OUTER can be used to prevent that and rows will be generated with NULL values in the columns coming from the UDTF.

为了保持代码的稳定性与数据的准确性,建议使用第二种方法。

http://www.yayakq.cn/news/726093/

相关文章:

  • 个人网站名称请店铺推广方案怎么写
  • 网站优化 代码优化天堂w区服选择
  • 网站开发背景和意义邢台123贴吧最新
  • 汽车网站建设论文做书籍的网站
  • 网站模版属于侵权吗wordpress 主题错误
  • dedecms网站模板下载python合适做网站吗
  • 阿里云iot网站开发网站建设费走什么费用
  • WordPress不关站备案插件干净简约高端的网站
  • 电影网站开发视频教程长春网站外包
  • 网站方案制作的培训网络推广公司怎么报税
  • 系统下载 网站 源码网站开发会计科目
  • 营销型网站开发制作苏州战斧网络科技有限公司
  • 网站制作网络推广价格怎么提高网站转化率
  • 网站建设策划书选题网站线上运营
  • html5 可以做网站吗什么推广网站好
  • 做网站彩票代理犯法吗小榄做网站企业
  • asp.net 网站 结构网站备案需要几天
  • 做内贸哪个网站好可以做调查问卷的网站
  • 营销型网站建设用途自己制作网站
  • 莱州网站建设公司开发网站需要什么人员
  • 快站网如何开始建站企业推广策划书
  • 江西中耀建设集团有限公司网站素材下载平台网站源码
  • 赣州网站建设 赣州网页设计深圳网站制作运营
  • 美工做图片网站免费风景视频素材下载
  • 长沙网站建设服务公司wordpress数据恢复
  • 做爰午夜福利全过程视频网站wordpress长图拼接
  • 网站模板 阿里wordpress 微博图标
  • 有建网站的公司吗网站的建设可以起到什么作用是什么意思
  • 福州婚庆网站建设哪家好网站建设就业前景
  • swf格式网站链接怎样做品牌网站建设定位