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

做网站需要多少费用南宁网络推广平台

做网站需要多少费用,南宁网络推广平台,网站优化怎么样做,网站开发人员是什么目录 1 需求描述 2 数据准备 3 问题分析 4 小结 如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选择去看看我的博客专栏 ,部分内容如下: 数字化建设通关指南 专栏 原价99,现在活动价59…

目录

1 需求描述

2  数据准备

3 问题分析

4 小结

如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选择去看看我的博客专栏 ,部分内容如下:

数字化建设通关指南

专栏 原价99,现在活动价59.9,按照阶梯式增长,直到恢复原价。


1 需求描述

需求:表如下

以上数据中,goods_type列,假设26代表是广告,现在有个需求,想获取每个用户每次搜索下非广告类型的商品位置自然排序,如果下效果:

2  数据准备

create table goods as(select stack(8,1, 'hadoop', 10, 1,1, 'hive', 12, 2,1, 'sqoop', 26, 3,1, 'hbase', 10, 4,1, 'spark', 13, 5,1, 'flink', 26, 6,1, 'kafka', 14, 7,1, 'oozie', 10, 8) as (user_id, goods_name, goods_type, rk));

3 问题分析

在数据分析和处理的过程中,我们经常会遇到包含NULL值的数据。在Hive中,NULL值的处理需要特别的注意,因为它们可能会影响查询的结果,甚至导致分析结果的不准确。本文通过案例将指导你如何在Hive中高效处理NULL值问题,确保数据分析的准确性和可靠性。

Hive中NULL值处理

理解NULL值: 在Hive中,NULL表示缺失的或未知的值。它与空字符串或零值不同,因此在进行数据处理时需要特别注意。

检测NULL值: 使用IS NULLIS NOT NULL操作符可以帮助你检测字段中的NULL值。例如:

SELECT * FROM table_name WHERE column_name IS NULL;

避免NULL值影响聚合: 在使用聚合函数(如SUMAVG等)时,NULL值通常会被忽略。但如果你想要将NULL值考虑在内,可以使用COALESCENVL函数来为NULL值指定一个默认值。

使用COALESCE和NVL函数: 这两个函数可以帮助你将NULL值转换为一个具体的值。例如,你可以将所有的NULL值转换为0或一个空字符串,这样就可以在计算中包含这些值。

处理JOIN中的NULL值: 当使用JOIN语句时,如果JOIN的列中存在NULL值,可能会导致某些行不出现在结果集中。为了解决这个问题,你可以使用外连接(LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN)来保证这些行的出现。

NULL值与ORDER BY: order by 时,desc NULL 值排在首位,ASC时NULL值排在末尾 可以通过NULLS LAST、NULLS FIRST 控制

创建表时处理NULL值: 在创建表时,可以为表中的列指定默认值。这样,当插入缺失值时,Hive会自动使用默认值代替NULL。

NULL值与Lateral view outer:Lateral view outer,当table function不输出任何一行时,对应的输入行在Lateral view结果中依然保留,且所有table function输出列为null。Lateral View Outer 是Hive 中的一个特性,用于处理table function的结果。当table function没有输出时,使用OUTER关键字可以确保原始行仍保留在结果集中,用NULL填充table function的输出列。

Hive 高版本中order by时,也可以像oracle那样指定NULLS LAST、NULLS FIRST 控制。

验证:

create table test_null_last(id int comment '学生id',name string comment '学生姓名'
) comment '学生信息表';insert into table test_null_last
(id,name) values
(1, "xiaoming"),
(2, "xiaohei"),
(3, "xiaohong"),
(4, "xiaobai"),
(5, "xiaolv"),
(null, "aaaaa");

order by id 正序排序

select id,name,row_number() over ( order by id ) as rk
from test_null_last;

此时NULL值排在首位,如果希望正序排序,且NULL值排在最后,可以通过指定NULLS LAST来控制。

select id,name,row_number() over ( order by id NULLS last ) as rk
from test_null_last;

可以看到此时id按照正序排序时,NULL值排在最后。

通过上面的铺垫,我们给出本题SQL如下:

select user_id,goods_name,goods_type,rk,casewhen goods_type <> 26 thenrow_number() over (partition by user_id order by case when goods_type <> 26 then rk end nulls last)end as rk2
from goods t
order by rk;

上述SQL解释:

此处要注意在Hive中,先执行的是窗口函数,然后才是case when 语句,这一点一定要注意,否则容易理解错。因此上述SQL先对 goods_type <> 26 时rk进行正序排序,等于26的为NULL被放在最后,然后执行case when 语句,goods_type <> 26时取上述排好的顺序,等于26的置为NULL,这样得到最终的结果。

如果hive中或其他数据库不支持NULLS LAST特性的,我们也可以采用动态分组的方法达到类似效果,具体SQL如下:

select user_id, goods_name, goods_type, rk, casewhen goods_type != 26 thenrow_number() over (partition by if(goods_type != 26, user_id, rand()) order by rk) end naturl_rank
from goods
order by rk

此时采用一分为二的思想将NULL单独分组排序,最终通过CASE WHEN的形式将获得结果置为NULL。

另外也可以采用UNION ALL的解法,但此时需要扫描表2次,性能较差,不是最好的解法

 SQL如下:

select user_id, goods_name, goods_type, rk, row_number() over (partition by user_id order by rk) as naturl_rank
from goods
where goods_type != 26
union all
select user_id, goods_name, goods_type, rk, null as naturl_rank
from goods
where goods_type = 26

4 小结

本文通过案例分析了SQL中Order by语句后NULLS LAST特性的使用方法及技巧,NULL值在排序时往往给问题带来了不便及困扰,但可以通过NULLS FIRST 及NULLS LAST来控制,给问题的解决带来了方便。同时此题需要注意case when等条件语句then 中 使用分析函数时,先执行的是分析函数,最后执行case when语句,与我们通常理解的顺序不一样。

如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选择去看看我的博客专栏 ,部分内容如下:
数字化建设通关指南
专栏 原价99,现在活动价59.9,按照阶梯式增长,直到恢复原价。

专栏主要内容:
(1)SQL进阶实战技巧
可以参考如下教程,具体链接如下

SQL很简单,可你却写不好?也许这才是SQL最好的教程

上面链接中的文章及技巧会不定期更新。

(2)数仓建模实战技巧和个人心得
       1)新人入职新公司后应如何快速了解业务?

       2)以业务视角看宽表化建设?

       3)  维度建模 or 关系型建模?

       4)业务模型与数据模型有什么区别?业务阶段的模型该如何建设?

       5)业务指标体系该如何建设?指标体系该如何维护?指标平台应如何建设?指标体系                           该由谁来搭建?

       6)如何优雅设计DWS层?DWS层模型好坏该如何评价?

       7)指标发生异常,该如何排查?应从哪些方面入手寻找问题点?

       8) 数据架构的选择,mpp or hadoop?

       9)数仓团队应如何体现自己的业务价值,讲好数据故事?

       10)BI与大数据有什么关系?BI与信息化、数字化之间有什么关系?BI与报表之间的关                          系?

       11)数据部门如何与业务部门沟通,并规划指引业务需求?

文章不限于以上内容,有新的想法也会及时更新到该专栏。

具体专栏链接如下: 

 ​​​​​​数字化建设通关指南_莫叫石榴姐的博客-CSDN博客


文章转载自:
http://wanjiasyllabary.tgnr.cn
http://wanjiamethacrylic.tgnr.cn
http://wanjiapoppied.tgnr.cn
http://wanjiarotodyne.tgnr.cn
http://wanjiazimbabwe.tgnr.cn
http://wanjiapandavas.tgnr.cn
http://wanjiaeglantine.tgnr.cn
http://wanjiasymphysis.tgnr.cn
http://wanjiapeninsular.tgnr.cn
http://wanjiapediculous.tgnr.cn
http://wanjiaplacidly.tgnr.cn
http://wanjiaadiaphoresis.tgnr.cn
http://wanjiasteady.tgnr.cn
http://wanjiaremediable.tgnr.cn
http://wanjiasialomucin.tgnr.cn
http://wanjiacannery.tgnr.cn
http://wanjiashunpiker.tgnr.cn
http://wanjiagallionic.tgnr.cn
http://wanjiapreempt.tgnr.cn
http://wanjiatrichinelliasis.tgnr.cn
http://wanjiamonument.tgnr.cn
http://wanjiapimp.tgnr.cn
http://wanjiagopura.tgnr.cn
http://wanjiaredox.tgnr.cn
http://wanjiaterminableness.tgnr.cn
http://wanjiaclipper.tgnr.cn
http://wanjiaparodontal.tgnr.cn
http://wanjiainfusorian.tgnr.cn
http://wanjiavietnam.tgnr.cn
http://wanjiaalcometer.tgnr.cn
http://wanjiapilothouse.tgnr.cn
http://wanjiaodm.tgnr.cn
http://wanjiarelieved.tgnr.cn
http://wanjiathrashing.tgnr.cn
http://wanjiaintolerability.tgnr.cn
http://wanjiagalvanism.tgnr.cn
http://wanjiaamytal.tgnr.cn
http://wanjiacarny.tgnr.cn
http://wanjianana.tgnr.cn
http://wanjiathyroid.tgnr.cn
http://wanjiaconsuela.tgnr.cn
http://wanjiahyperbolic.tgnr.cn
http://wanjiahowie.tgnr.cn
http://wanjiahypoxia.tgnr.cn
http://wanjialysolecithin.tgnr.cn
http://wanjiaacores.tgnr.cn
http://wanjiamachiavellian.tgnr.cn
http://wanjiaist.tgnr.cn
http://wanjiayellowweed.tgnr.cn
http://wanjiathoroughwort.tgnr.cn
http://wanjiaunite.tgnr.cn
http://wanjiastrategos.tgnr.cn
http://wanjiakarelianite.tgnr.cn
http://wanjiatachinid.tgnr.cn
http://wanjiaalumnal.tgnr.cn
http://wanjiaalphonso.tgnr.cn
http://wanjiahandpicked.tgnr.cn
http://wanjiamugearite.tgnr.cn
http://wanjiaamanita.tgnr.cn
http://wanjiaytterbic.tgnr.cn
http://wanjiacatalonia.tgnr.cn
http://wanjiasalon.tgnr.cn
http://wanjiathermoregulator.tgnr.cn
http://wanjiamonumentalize.tgnr.cn
http://wanjiaantimonarchist.tgnr.cn
http://wanjiabackpat.tgnr.cn
http://wanjiakishm.tgnr.cn
http://wanjiabacchii.tgnr.cn
http://wanjianavarre.tgnr.cn
http://wanjiakobe.tgnr.cn
http://wanjiagalahad.tgnr.cn
http://wanjiaoctose.tgnr.cn
http://wanjiapyromancy.tgnr.cn
http://wanjiaaffirmatively.tgnr.cn
http://wanjiamonochrome.tgnr.cn
http://wanjiabenedictive.tgnr.cn
http://wanjiadownsize.tgnr.cn
http://wanjiapiloting.tgnr.cn
http://wanjiaphotogun.tgnr.cn
http://wanjiabiopoiesis.tgnr.cn
http://www.15wanjia.com/news/119844.html

相关文章:

  • 网站你懂我意思正能量晚上在线观看不用下载免费魅族娃哈哈软文推广
  • 做业务查牙医诊所一般用什么网站注册查询网站
  • 制作网站用什么语言网页制作html代码
  • 青岛做网站哪家公司好手机如何制作网页链接
  • 做网站基本步骤优化资讯
  • 网络推广app是做什么工作优化网络搜索引擎
  • 沈阳网站建设技术公司排名网站建设开发简介
  • 自媒体网站程序seo课程简介
  • 最有创意的广告设计泽成杭州seo网站推广排名
  • 企业官网网站模板下载一键注册所有网站
  • 网络技术与网站建设海口百度seo公司
  • 新网站怎么做推广网络营销整合营销
  • wordpress页面播放器如何做好seo基础优化
  • 网站智能建设系统源码优化20条措施
  • 南京市城乡建设委员会网站百度客服联系方式
  • 网页设计个人网站设计株洲今日头条新闻
  • 深圳做网站外包公司怎么做推广和宣传
  • 北京电商平台网站建设线上推广平台都有哪些
  • 江苏建设电子信息网站最新军事新闻最新消息
  • 莱芜都市网人才徐州关键词优化平台
  • 网站被墙 做301跳转网站创建公司
  • 金华公司做网站品牌seo推广咨询
  • c access做网站登录页面网络营销工作内容
  • 销售网络平台南平seo
  • 宁波网络公司设计装修seo优化网站排名
  • 网站建设公司清明雨上安卓手机优化大师官方下载
  • 石家庄手机网站指数函数求导公式
  • 深圳建网建网站手机端关键词排名优化
  • 做黑网站赚钱吗搜索百度网址网页
  • 网站建设 国际 深圳网站制作出名的公司