sql
文章平均质量分 69
莫叫石榴姐
云淡风轻一轮江月明
展开
-
HiveSQL高级进阶技巧,掌握这10个技巧,你的SQL水平将有一个质的提升!
HiveSQL高级进阶技巧,掌握这10个技巧,你的SQL水平将有一个质的提升!原创 2023-01-30 15:35:26 · 1248 阅读 · 1 评论 -
SQL面试题之区间合并问题
本题为区间合并问题,问题比较经典,判断的核心思路是构造条件:当前行的起始时间原创 2022-09-02 18:10:26 · 2563 阅读 · 8 评论 -
HiveSql面试题56:即时订单比例问题
HiveSql面试题56:即时订单比例问题原创 2022-05-22 19:19:00 · 1036 阅读 · 2 评论 -
HQL面试题55:阿里最新面试题之地铁站用户行为轨迹分析
HQL面试题55:阿里最新面试题之地铁站用户行为轨迹分析原创 2022-05-21 17:22:15 · 1149 阅读 · 2 评论 -
HiveSql一天一个小技巧:如何成对提取字符串内容
本文给出了一种如何成对提取字符串内容技巧和方法,主要利用posexplode()函数进行求解,利用索引值相等提取出对应的字段内容。原创 2022-05-04 18:51:35 · 1684 阅读 · 1 评论 -
HiveSql面试题:连续签到领金币问题【百度-困难题-通用解法】
本文给出了一种连续签到领取金币的一种通用解法,通过窗口函数生成标签值进行辅助计算原创 2022-05-04 00:55:13 · 2533 阅读 · 5 评论 -
HIveSQL面试题52:近一个月发布的视频中热度最高的top3视频【抖音面试题,不得不去吐槽的一个题目】
这道题源自于牛客网,题目本身没什么难度,但在牛客中通过率极低,原因是题目本身但表达很模糊,很多定义没有直接给出,靠面试者猜,造成了误解,如果面试遇到这种题目90%挂,因为你不能准确理解题意,需要反复和面试官确认,即使做出来了,最终也是失败,而这题竟然出自抖音,面试出题也太随意了,无力吐槽,看来面试有时候真的靠缘分,哈哈哈。。。。原创 2022-04-17 13:15:03 · 1495 阅读 · 0 评论 -
HiveSql一天一个小技巧:如何在表的特定位置添加字段
hive表在某个特定的位置添加一个字段,在操作上是先在表的最后添加一个字段然后再将该字段移动到那个特定的位置第一步:先在最后一个位置增加字段alter table table_name add columns now_time string comment '当前时间';第二步:通过移动位置的指令移动到指定位置alter table table_name change now_time now_time string after id;Hive整体更改指令ALTER TAB.原创 2022-04-15 15:02:48 · 5476 阅读 · 1 评论 -
HiveSQL一天一个小技巧:借助于聚合函数与case when进行行转列
0 需求目标结果表1 数据准备创建原始数据表,加载数据 --切换数据库 use db_function; --建表create table row2col1( col1 string, col2 string, col3 int) row format delimited fields terminated by '\t'; --加载数据到表中load data local inpath '/export/data/r...原创 2022-03-20 22:19:12 · 1388 阅读 · 1 评论 -
HiveSQL一天一个小技巧:借助于join进行行转列
SQL如下:select tmp1.id as id,tmp1.value as height,tmp2.value as weight,tmp3.value as age from (select id,label,value from tmp2 where label = 'heit') as tmp1joinon tmp1.id = tmp2.id(select id,label,value from tmp2 where label = 'weit') as tmp2joino原创 2022-03-20 22:08:04 · 499 阅读 · 0 评论 -
HQL一天一个小技巧:coalesce和nvl函数区别
coalesce 函数COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。注意:所有表达式必须为同一类型或者能转换成同一类型。CREATE OR REPLACE VIEW v ASSELECT NULL AS C1, NULL AS C2, 1 AS C3, NULL AS C4, 2 AS C5, NULL AS C6 FROM tmpUNION ALLSELECT NUL.原创 2022-01-04 14:19:07 · 6289 阅读 · 0 评论 -
SQL一天一个小技巧:如何通过HQL解析JSON
在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析。接下来就聊聊Hive中是如何解析json数据的。Hive自带的json解析函数1. get_json_object 语法:get_json_object(json_string, '$.key') 说明:解析json的字符串json_string,返回path指定的内容。如果输入的json字符串无效,那么返回NUL转载 2021-09-02 18:42:33 · 2958 阅读 · 0 评论 -
HQL一天一个小技巧:如何解决NULL值引发的数据倾斜
目录0 需求描述1 问题解决2 小结0 需求描述实际业务中有些大量的null值或者一些无意义的数据参与到计算作业中,表中有大量的null值,如果表之间进行join操作,就会有shuffle产生,这样所有的null值都会被分配到一个reduce中,必然产生数据倾斜。1 问题解决(1)问题剖析疑问:NULL值和需要匹配的字段根本就匹配不上,为什么会进入到同一个reduce?数据放到同一个reduce中的原因不是因为字段能不能join上,而是因为shuffle阶段的数据分发操作原创 2021-08-31 11:32:50 · 1446 阅读 · 4 评论 -
SQL之用户行为路径分析--HQL面试题46【拼多多面试题】
目录0 问题描述1 数据分析2 小结0 问题描述已知用户行为表 tracking_log, 大概字段有:(user_id 用户编号, op_id 操作编号, op_time 操作时间)要求:(1)统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻。 (2)统计用户行为序列为A-B-D的用户数其中:A-B之间可以有任何其他浏览记录(如C,E等),B-D之间除了C记录可以有任何其他浏览记录(如A,E等)1 数据分析(1)数据生成......原创 2021-08-22 21:51:29 · 2525 阅读 · 4 评论 -
一种基于批处理的N天窗口内趋势异常分析【物联网大数据应用】
在设备健康监测管理时,我们往往需要对设备运行时的电路参数进行监控,以反映设备的运行状况,通过对设备的运行参数长期统计观察建立设备的状态评估模型 。其中一个典型的场景就是我们需要对设备参数指标,进行趋势分析,比如判断某个指标在某一段时间内呈现递增或是递减的趋势,换句话说设备在一时期某一个参数朝着恶化的趋势发展,我们需要对这种趋势进行预警。解决这种长周期的趋势预警问题,我们往往需要构建设备数仓,在批处理中进行分析。本文以转辙机动作电流为例进行分析,针对转辙机动作电流文中给出了一种设备趋......原创 2021-07-08 20:17:26 · 700 阅读 · 6 评论 -
一种基于批处理实现的N天窗口内指标异常偏离分析方法【物联网大数据应用场景】
目录0 需求分析1 数据准备2 数据分析3 小 结0 需求分析如下表所示:gw_id代表网关id,sensor_id代表设备id,avg_gd_vol代表每天的轨道电压均值点,compute_day代表日期gw_id sensor_id avg_gd_vol compute_day 1001 123456 18.5 2017-07-01 1001 123456 0.6 2017-07-02 1001 1234原创 2021-07-03 21:42:00 · 398 阅读 · 2 评论 -
HiveSQL面试题21--用户行为分析join的应用【小红书面试题】
【面试题】小红书月活跃用户数已经过亿,用户在小红书上通过文字、图片、视频笔记分享生活,并创建相关商品链接,吸引相同爱好的用户进行收藏购买,用户的消费有什么行为特征呢?(小红书面试题)现有用户订单表、用户收藏表。用户订单表:记录用户id、购买的商品id、用户下单的时间及商品的种类。用户收藏商品表:记录用户id、用户收藏的商品id及收藏时间。问题:请用一句sql语句得出以下查询结果,得到所有用户的商品行为特征,其中用户行为分类为4种:已购买、购买未收藏、收藏未购买、收藏且购买。.原创 2021-06-23 22:06:22 · 1340 阅读 · 3 评论 -
Hive sql 常见数据倾斜(类型不匹配、复杂join条件)的分析解决
本篇以hive sql解析器来讨论问题,spark sql 的处理方法类似,大家可自行测试。本篇不分析各种会造成数据倾斜的原因,数据倾斜形成的原因也只是简单提及。本篇主要分析在sql中进行join操作时,会造成数据倾斜的常见两大原因,以及解决方法。我认为这两种情况,在工作中出现的几率较高,所以单独拿出来讨论。数据倾斜造成的原因(懂的可以跳过不看):这个问题简单来说,就是分布式处理中,每个节点处理的数据量差距较大,而导致单节点负担过重,处理时间过长,而拖慢整个作业的执行时间。在hive中,常见的处转载 2021-06-10 16:37:18 · 1143 阅读 · 1 评论 -
窗口函数之ntile()函数讲解
ntileNTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值。将一个有序的数据集划分为多个桶(bucket),并为每行分配一个适当的桶数(切片值,第几个切片,第几个分区等概念)。它可用于将数据划分为相等的小切片,为每一行分配该小切片的数字序号。NTILE不支持ROWS BETWEEN,比如NTILE(2) OVER(PARTITION BY dept_no ORDER BY salary ROWS BETWEEN 3 PRECEDING - AND CURRENT ROW)。如.原创 2021-05-09 21:40:59 · 23972 阅读 · 0 评论 -
SQL 窗口函数的优化和执行
窗口函数(Window Function)是 SQL2003 标准中定义的一项新特性,并在 SQL2011、SQL2016 中又加以完善,添加了若干处拓展。窗口函数不同于我们熟悉的普通函数和聚合函数,它为每行数据进行一次计算:输入多行(一个窗口)、返回一个值。在报表等分析型查询中,窗口函数能优雅地表达某些需求,发挥不可替代的作用。本文首先介绍窗口函数的定义及基本语法,之后将介绍在 DBMS 和大数据系统中是如何实现高效计算窗口函数的,包括窗口函数的优化、执行以及并行执行。什么是窗口函数?窗口转载 2021-02-18 14:02:03 · 1490 阅读 · 0 评论 -
SparkSQL代码开发模板
0 数据准备student.txt字段从左到右依次代表: 学号 学生姓名 学生性别 学生出生年月 学生所在班级 108 丘东 男 1977-09-01 95033 105 匡明 男 1975-10-02 95031 107 王丽 女 1976-01-23原创 2020-12-29 15:43:40 · 332 阅读 · 0 评论 -
HiveSql面试题10--sum(if)统计问题
0 需求分析t_order表结构 字段名 含义 oid 订单编号 uid 用户id otime 订单时间(yyyy-MM-dd) oamount 订单金额(元) 所有在2018年1月下过单并且在2月没有下过单的用户,在3月份的下单情况: 目标字段名 含义原创 2020-09-01 23:13:08 · 6221 阅读 · 0 评论 -
SQL之累积计算问题--HQL面试题1
0. 需求 我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20 3 u01 2017/1/...原创 2020-04-04 20:37:10 · 1549 阅读 · 1 评论