- 博客(357)
- 资源 (43)
- 收藏
- 关注
原创 数据特征工程:一种N天窗口内设备异常趋势检测 | 基于SQL实现
本文针对物联网应用场景,以道岔转辙机动作电流为例,详细给出了一种曲线趋势预测方法。该方法通过对具有趋势性的曲线的特性进行抓取,通过统计的特征的形式进行描述,从4个维度分别来反应具有递增或递减趋势的曲线,分别为,基线变化率、首尾变化率、平均变化率、反向或正向变化率,通过该四个维度的特征与阈值比较最终判断是都复合某种发展趋势。其中本文给出的阈值读者可根据业务进行灵活配置,不断调试,以达到复合自己业务要求的结果。文中通过hivesql批处理的形式进行实现,本文给出的算法在实际中得到了较好的验证。
2024-10-06 11:45:51 1087
原创 SQL进阶技巧:如何优化NULL值引发的数据倾斜问题?
主要内容:(1)SQL进阶实战技巧可以参考如下教程,具体链接如下SQL很简单,可你却写不好?也许这才是SQL最好的教程上面链接中的文章及技巧会不定期更新。(2)数仓建模实战技巧和个人心得1)新人入职新公司后应如何快速了解业务?2)以业务视角看宽表化建设?3) 维度建模 or 关系型建模?4)业务模型与数据模型有什么区别?业务阶段的模型该如何建设?5)业务指标体系该如何建设?指标体系该如何维护?指标平台应如何建设?
2024-10-06 11:08:42 835
原创 SQL进阶技巧:如何优雅求解指标累计去重问题?
本文给出了计算指标按照日期字段进行累计去重的优雅解法,文中采用了2种解法,一种借助于分析函数作为辅助变量生成状态标记求解,一种利用自关联生成全量数据进行行行比较求解,两种方式都非常巧妙。
2024-10-02 23:41:23 832
原创 SQL进阶技巧:统计各时段观看直播的人数
5)业务指标体系该如何建设?专栏 原价99,现在活动价39.9,十一国庆后将上升至59.9,最后一波需要的赶紧冲,最终按照阶梯式增长,直到恢复原价。业务阶段的模型该如何建设?本题主要考察拉链表流水化的思维方式,即如何将拉链表转换成对应的时间明细表。状态标记:st时间记为 1,et时间记为-1 (et时表示下播,取-1)7)指标发生异常,该如何排查?11)数据部门如何与业务部门沟通,并规划指引业务需求?9)数仓团队应如何体现自己的业务价值,讲好数据故事?1)新人入职新公司后应如何快速了解业务?
2024-10-02 21:33:35 1007
原创 SQL进阶技巧:影院相邻的座位如何预定?
影院座位预定表 T_SEATS 记录了当前座位的预定情况。如有2个人去影院看演唱会,需满足位置紧邻且至少其中一人靠过道(同一排最左或最右的座位靠过道)的座位组合,结果集按开始座位号从小到大排序。查询结果集,字段顺序及命名如下:开始座位号、结束座位号。
2024-09-30 16:56:10 759
原创 数仓建模:DataX同步Mysql数据到Hive如何批量生成建表语句?| 基于SQL实现
表数量不多的话还好,如果多库多表需要批量采集的话工作量会很大,因此需要一个批量生成建表语句的功能来节省人力。5)业务指标体系该如何建设?本文基于SQL给出了一种 DataX同步Mysql数据到Hive批量生成建表语句的方法及技巧,该方法和技巧在数仓开发中经常被用到。专栏 原价99,现在活动价39.9,按照阶梯式增长,还差3个名额将上升至59.9,直到恢复原价。7)指标发生异常,该如何排查?11)数据部门如何与业务部门沟通,并规划指引业务需求?9)数仓团队应如何体现自己的业务价值,讲好数据故事?
2024-09-29 23:09:01 1378
原创 趣味SQL | 从围棋收官到秦楚大战的数据库SQL实现(下)
专栏 原价99,现在活动价39.9,按照阶梯式增长,还差3个名额将上升至59.9,直到恢复原价。
2024-09-29 21:40:47 955
原创 SQL进阶技巧:如何获取状态一致的分组? | 最大、最小值法
星星点灯是一家水果店,它提供了外卖水果拼盘的服务。水果店能够提供四种水果拼盘:水果魔方、海星欧蕾、猫头鹰、草莓雪山,下表反应了某一时刻店内的水果的准备情况。上面这些数据存在 platters 表中,platter 是拼盘的名称,fruit 是拼盘要用到的水果,ready 表示水果是否准备好了。当有客户订水果拼盘时,只有拼盘要用到的所有水果都准备好了才能制作。现在,我们要写 SQL 找出可以立即制作的水果拼盘的名称。
2024-09-28 09:00:00 1189
原创 SQL经典问题:最后一个能进电梯的人
上电梯且不超过重量限制的乘客,并报告 person_name。题目测试用例确保顺位第一的人可以上电梯且不会超重。返回结果格式如下所示。
2024-09-28 08:30:00 909
原创 数据特征工程:如何计算块熵?| 基于SQL实现
信息量是指从N 个相等可能事件中选出一个事件所需要的信息度量或含量,也就是在辩识N 个事件中特定的一个事件的过程中所需要提问是或否的最少次数。在一个系统中,等可能事件的数量越多,事件的发生概率也就越低,传递究竟是哪个事件发生所需的比特信号也就越多。举个例子,假如有两个相互隔离的房间A、B,二者只能通过01信号传递信息。当A房间投掷了一个硬币时,我们至少需要使用个比特信号告诉B房间是正面朝上还是反面朝上。类似地,当A房间投掷了一个有8个面的骰子时,我们至少需要个比特的信号来传递该信息。
2024-09-27 16:38:12 884
原创 PHM技术 : 特征缩放
中位数标准化方法通过 X 的中位数来标准化 X 的每个值,这是一种有用的标准化方法,当需要计算两个混合样本之间的比率时。中,z 分数标准化可能特别关键,以便基于某些距离度量比较特征之间的相似性。另一个突出的例子是 PCA,通常更喜欢使用标准化而不是 Min-Max 缩放,因为关注的是通过。Min-Max 标准化的另一种方法是所谓的 z 分数标准化(或标准化)。z 分数标准化的结果是特征将被重新缩放,使其具有 μ = 0 和 σ = 1 的。即,该方法使用以下公式将特征 X 的值 x 转换为 ̂x,落在。
2024-09-27 08:59:26 775
转载 PHM技术:时域特征表达式
由计算公式可知,当 标准差 小于 正常标准差 时,即观测值分散程度较小时,k增大,此时分布曲线峰顶的高度大于正常曲线的峰度,称为正峭度,k>3;K值的计算是在概率密度函数标准化后进行的,当转速或载荷变化虽然也发生变化,但其均值和标准差也随之变化,幅值概率密度函数的形状与原工作状况无太大差别,对轴承故障的发展程度反映不很敏感,所以K值变化不大。与峰值因子类似,方根幅值和均方根值(有效值)是对应的,均方根的公式是信号平方和的平均值的算术平方根,方根幅值是算术平方根的平均值的平方(有点绕)。
2024-09-26 14:40:23 82
原创 解锁SQL无限可能 | 如何利用SQL巧解最短路径问题
对于 “a -> b” 这条路线而言,b 是 a 要到达的目的地,假如这条路线加入了 d ,变成 “a -> b -> d”,那么 b 就成了到达 d 前的出发点。比如,从 a -> d 的路线就有 a -> b -> d 和 a -> c -> d 两条。在递归表达式中,初始的数据应该是列举出能从 a 点直接到达的地点及相应的距离,目前有 a -> b、a -> c 这两条路线。业务阶段的模型该如何建设?7)指标发生异常,该如何排查?9)数仓团队应如何体现自己的业务价值,讲好数据故事?
2024-09-25 08:00:00 1393
原创 趣味SQL | 如何利用SQL巧解公务员考试逻辑题
A、B两男士好奇问C女士年龄C 女士给出 11个可能答案:35、36、38.42、45、46.51、55、57、61、62.C将十位数告诉 A,将个位数告诉 B。A 说:我不知道℃女士年龄,B也不知道。B 说:原本我不知道的,但现在知道了!A 说:现在我也知道了!请问C女士年龄是多少?
2024-09-24 09:00:00 931
原创 SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法
在user_purchase的基础上加上用户年龄字段,但是user_purchase中存在用户ID大量为null的情况,和user_info关联的话会产生数据倾斜,需要做一下倾斜处理。有两张表,一张用户下单表user_purchase(用户ID粒度)包含用户ID、订单ID和下单消耗金额和一张用户维表user_info包含用户ID、用户年龄和用户是否实名认证。这种写法更加易读简洁。我想取出所有认证过的用户,如果用户没有认证过,就取出年龄大于18岁的用户。9)数仓团队应如何体现自己的业务价值,讲好数据故事?
2024-09-24 08:00:00 1187
原创 数仓规范:命名规范如何设计?
数据仓库建设的目的仍是为了下游应用,因此,降低下游用户的应用成本是至关重要的。下面这些问题,你可以看看是否遇到过。很多表名非常类似,涉及各个层级的数据,也不知道粒度如何,用起来非常混乱!表内的字段名特别乱,甚至不同表中相同含义字段的命名不一致!任务名与表名差异很大,很难找到表对应的调度任务是哪一个!以上这些问题,都是由于命名不规范所导致的。那规范的命名又包括哪些方面呢?下面,我们一起来看一下。
2024-09-22 22:36:04 648
原创 一份热乎的阿里25届数据分析面试题
(1)利用数据分析和统计学的知识,判断如何找到母婴人群和游戏人群,因为浏览母婴的人不一定是母婴人群,有可能是代购和邦亲朋好友购买。假设每个人只能用五类 app 中的几种(母婴,旅游,社交,游戏,网贷),我们有这些 app过去 180 天的序列数据←。Behavior 数据很脏,标点中英文都有,而且有很多无规律的空格,用户 id 是有规律的,可以理解成身份证号。(4)Behavior 数据很长,而且数据很脏,如何最小代价的找到对应的 app 及档次←。9)数仓团队应如何体现自己的业务价值,讲好数据故事?
2024-09-22 18:38:03 840
原创 趣味SQL | 从围棋收官到秦楚大战的数据库SQL实现(中)
嬴华:秦占得城池为:平原1(80)、平原2(75)、草原1(70)、草原2(65)、山水1(60)、高原2(180),合计555。每逢大王弈出双先,您必应之,从未反击,此乃败因所在。若按原先顺序不考虑大小,秦将获得6座城池(平原1、平原2、草原1、草原2、山水1、高原2),楚则得2座城池(山水2、高原1)。嬴驷:懂了,楚先手山水2面积为85,倍之也仅170,而后手的高原2面积为180,超山水2两倍有余,故优先取之。对了,驷儿、华儿,围棋的每一手棋并非一样大,城池亦如此,若考虑城池大小,攻城之策又当如何?
2024-09-19 08:00:00 865
原创 SQL进阶技巧:火车票相邻座位预定一起可能情况查询算法 ?
现在这趟车某个车厢里每排的座位的编号是 A、B、C、D、F,其中,A 和 F 是靠窗位置,C 和 D 之间是过道。本文给出了一种火车票相邻座位预定一起可能情况查询算法 ,采用了两种思路进行求解,一种利用分析函数,采用窗口子句range进行逻辑计算相邻情况,一种利用自关联的形式,控制关联条件进行求解。注意此处必须座位编号是连续的,为了找出连续的3个座位我们使用了窗口子句,此时窗口的范围应该使用range子句而不是rows,利用range进行逻辑上的计算来判断是否连续。业务阶段的模型该如何建设?
2024-09-15 21:36:56 1682
原创 数据特征工程: 基于SQL实现的一种时序数据的波峰个数检测算法
序列数据是按照时间进行采集,其中400个点一个周期,一条数据共10个周期,即4000个点。首先针对序列数据判断每个周期是否存在波峰,并在存在波峰的情况下进行波峰形状识别。5)业务指标体系该如何建设?如果觉得本篇文章对你还有点帮助,那么不妨也可以选择去看看我的博客专栏文章,里面内容更精彩。业务阶段的模型该如何建设?7)指标发生异常,该如何排查?11)数据部门如何与业务部门沟通,并规划指引业务需求?9)数仓团队应如何体现自己的业务价值,讲好数据故事?文章不限于以上内容,有新的想法也会及时更新到该专栏。
2024-09-14 16:57:00 1502
原创 数仓建设:为什么我们的数据容易被业务方质疑?
在数字化建设进程中,无论是处于数据产品的你,或是数据开发的你,还是数据分析的你,相信对这一问题并不陌生,或多或少都会被业务方质疑过数据可信度的问题,有时候一个BI项目很难被认可或是推广下去,其很大一部分因数就是遭到业务方对数据的质疑,或是数据驱动决策的质疑。本文从多个角度分析了数据容易被业务方质疑,不被信任的原因,并给出了相应的解决方案,其关键在于提高组织文化中的数据意识,及采用可视化分析、数据质量管理等技术工具,增强数据的透明度和可访问性。通过上面的分析,我们可以看到造成数据不信任的原因有多种。
2024-09-14 13:51:02 903
原创 从12306改签困惑到数据库SQL语言设计
当然了,在春运这种一票难求的时候,就不用考虑折扣了,能多送一个乘客回家团圆,那可是功德无量的事。然而,现有系统只能查询和分配全程相同的座位,无法识别这种分段组合的可能性。我们可以做一个最小化的例子来示例说明一下该如何实现,以下是最简化的设计说明,实际情况当然远比这要复杂的多!这个查询有效地找出了允许换座情况下的最佳座位组合,展示了如果系统支持分段座位分配,是可以完成全程订票的。其实如果12306允许自动给乘客分段分配座位(即到不同的站换不同的座位),问题就可以解决。业务阶段的模型该如何建设?
2024-09-13 15:01:53 1050
原创 SQL进阶技巧:如何将字符串数组清洗为简单map结构? | translate + regexp_replace方法
本文给出了一种将将字符串数组清洗为简单map结构的解决方案,采用两种方法进行求解,其中方法1比较通用,当字符串数组中key值较多,依然适用,主要采用translate + regexp_replace函数进行数据的清洗和转换,假如有一个从系统日志中提取的配置单元表,数据以一种奇怪的格式(映射数组)编码,其中数组的每个元素都包含field_name和它的value。问题的目标是构建一个K-V信息的新的map,从结果可以看出原始的映射数组中field,value这些字符串为无用信息。业务阶段的模型该如何建设?
2024-09-13 08:00:00 1026
原创 SQL进阶的技巧:如何实现某列的累计乘积?
本题主要利用数学中对数加法原理及对数恒等式进行求解,具有很强的技巧性,在实际分析中如复利累积场景中会遇到。
2024-09-11 22:46:29 1284
原创 数仓建模:数仓设计中的10个陷阱
数仓的建设是需要统筹规划的,而不是随便一个取数的Ad-Hoc,与业务系统有着本质的区别,数仓的建设最怕的就是业务分析人员或业务开发人员直接拿来当业务系统使用,最后做成与传统的数据库没什么区别。模型真的重要吗,毫无疑问是重要的,但是也是有轻重缓急的时候,为了设计完美的模型而不支持需求就大错特错了,实际的操作过程中有很大的弹性空间,不可被理论禁锢,停滞不前。这种情况在传统的企业尤其重要,一般互联网公司,数据是内置在基因里面的,对数据重视程度是非常高的,所以利用数据指导业务是顺其自然的事情。指标体系该如何维护?
2024-09-10 22:29:13 877
原创 趣味SQL | 从围棋收官到秦楚大战的数据库SQL语言实现
最近经常接触围棋,忽然有灵感,就用古代战争做比喻,粗浅写一个围棋官子和数据库结合的文章,顺便普及普及围棋,兄弟们多多指点。文中SQL的逻辑是假设这按这个收官顺序规则去抢夺城池,套规则进去的,如果是能分析出什么顺序组合,才更有意义,大家一起讨论讨论,如果考虑大小就会很复杂,还有你我都可以不理双先的情况,考虑收益与损失比就更复杂了。~欲知后事如何,请关注石榴姐公众号“会飞的一十六”~想进一步了解SQL这门艺术语言的可以订阅我的专栏数字化建设通关指南。
2024-09-10 15:05:36 1062
原创 SQL进阶技巧:如何获取数组中前N个元素?
本文给出了获取数组中前N个元素的技巧和方法,采用了两种分析方法,其中第二种方法最为优雅。如果指定的元素个数比较少,也可以通过数组枚举的形式获取,比如本题也可以通过arr[0],arr[1],arr[2]获取前三个元素,但是当指定的元素个数比较多时,这种方法就不太适用。
2024-09-09 15:08:04 426
原创 数据分析面试题:物流线路主题分析
本题难度不高,但属于业务场景化的题目,更面向于实际业务分析,这也正是我们在文章面试SQL题的水到底有多深?一文带你揭晓-CSDN博客中提到的目前SQL面试题越来越偏向业务化、场景化,需要面试者有较好的业务理解能力和沟通能力。
2024-09-09 10:35:45 410
原创 数据分析面试题:如何分析每日平均每件商品的锁定时长问题?
本文针对实际数据分析领域面试题进行详细讲解,重点分析了秒杀时商品的Hold时长问题,也是本文重点及难点问题,在限定时间25分钟内完成本题4个问题有一定难度,这也体现了目前数据分析SQL面试题越来越难也越来越具备选拔性,特别对SQL的考察更注重问题的分析能力及思维性的考察,要足够熟练才能在规定时间内完成。
2024-09-07 15:21:24 141
原创 SQL进阶技巧:每年在校人数统计 | 区间重叠问题
有一个录取学生人数表 in_school_stu,记录的是每年录取学生的人数及录取学生的学制,计算每年在校学生人数。本文对在校学生人数统计这一问题进行了分析,如果对本专栏区间重叠问题这一技巧和方法比较熟的,解决该问题会非常简单。通过上面简单的分析可以看到该问题为典型的区间重叠问题,将时间展开后,具体分析可参考如下图。本题实际上属于区间重叠问题,我们将入年份与学制加起来得到结束时间。第一步:利用posexplode()先将数据展开,转换为明细表。第二步:基于步骤1的明细表,按时间汇总即可。
2024-09-06 16:07:03 772
原创 数仓建模:设计上规范应如何做? | 数仓建设规范
在技术架构选型确定后,就需要对数据仓库主体分层进行划分,将原始明细数据存储于数据接入层,通过各分层的加工处理,最终输出到贴近业务的数据应用层,如下图所示:对于业务逻辑比较复杂的我们也可以抽象出基础指标层,按照实体建模,对同一对象的指标合并。DWD(明细数据层):又叫清洗层,和ODS层数据粒度一致,该层主要是对原始数据进行ETL操作,包括数据去重、脏数据过滤、空值处理、字段映射、数据脱敏、缺失值补充等操作,目的是为了保证数据质量。,比如财务主题、采购主题、生产主题、 库存主题、销售主题、服务主题。
2024-09-06 08:30:00 223
原创 SQL进阶技巧:如何利用SQL解决趣味赛马问题?| 非等值关联匹配问题
这类问题的一般处理思路有两种:一种是利用先分后合的思想,先利用行转列,UNION 的方式来分别处理各自类型的数据,最终在合并汇总;一种是利用构建维度表(如本题中的马表)关联数据表的形式进行非等值匹配,这种构建维度表再关联数据表的形式在数仓开发中非常常见,两种方法都很巧妙均需要掌握。分别算出每种获奖名词类型下的每匹马的获奖次数,最终将每匹马的获奖次数相加即可。业务阶段的模型该如何建设?9)数仓团队应如何体现自己的业务价值,讲好数据故事?,可以看出只要马获奖即可,并不关心马是前三名中的哪一个名次。
2024-09-05 09:00:00 1315
原创 数仓建模:如何有效构建DWB/DWM层? | 基于案例实战分析
DWB层又叫基础数据层或数据中间层,这一层可以理解为实体建模,主要基于某些对象,进行数据的整合,一般为了最终的聚合提前对数据做一些准备。与DWD层主要区别在于DWD层功能定义为数据清洗层,主要进行ETL,和ODS层数据粒度保持一致,该层数据模型主要在于整合,将同一对象的数据按照业务过程进行合并,并沉淀出基础的数据指标,为DWS层最终的数据聚合做准备。
2024-09-05 08:30:00 273
原创 读者提问:数据建模听起来好高大尚,但很抽象,该怎么理解 ?| 什么是数据建模?
数据是对事实的反应,将客观存在的事物用数值的形式反应出来。以35°C为例,“温度是35°C”代表不了任何东西。它有可能是今天的天气,也有可能是水温,我们一般认为它只是一个数字事实,而“2024年9月4号上午10点,重庆市的温度是40°C”则是一个更加场景化的数据。实际上,大部分数据都是依赖于场景,我们不能脱离场景来看数据。以连锁零售行业为例,两个门店日销售额分别达到5000元和8000元,仅凭这两个数字来单独评判其经营情况,其实是有失公平的。我们要看它在一线还是二线城市?
2024-09-04 11:50:09 1174
原创 解锁SQL无限可能 | 利用SQL实现13位条码检测算法
5)业务指标体系该如何建设?指标体系该如何维护?算法:给定一个n位的数字字符串,取出这个条码字符串的前n-1位数字,用公式计算,看结果是都等于n位。关于此类利用SQL处理算法的问题很多,具体请参考我的“(3)用S1减去S2,将结果对10取模,然后计算绝对值。业务阶段的模型该如何建设?7)指标发生异常,该如何排查?11)数据部门如何与业务部门沟通,并规划指引业务需求?9)数仓团队应如何体现自己的业务价值,讲好数据故事?1)新人入职新公司后应如何快速了解业务?利用算法原理进行简单推导,看看具体是如何工作的。
2024-09-04 09:00:00 1338
原创 数仓建模:一文带你读懂什么是数仓建模? | 详聊数据建模的几种形式
本文对数据建模的全流程进行了剖析,详细介绍了数据建模的流程、维度建模、范式建模、及关系建模的全过程。企业可以根据自身的发展情况及所处的阶段、业务所处的形态选择合适的建模流程、规范及数据模型,数仓建模其主要的目的是为了更好的支撑上层应用及业务的发展。
2024-09-03 14:41:30 533
原创 业务部门提出我们已经有报表了为什么还要上BI? | BI与报表区别和联系?
业务部门会有上面的质疑,其主要原因还是对BI认知不清,这时候就需要IT负责推进的人员对BI做出解释。那么什么是BI?从长期的实践来看,BI是建立在数据仓库基础之上,通过构建企业价值指标体系,从战略目标出发,将数据转换为信息和知识,为企业提供决策的分析系统,是大数据应用的产物,属于数据价值直接体现者。
2024-09-03 10:13:35 297
基于多重尺度局部极大值检测的自动峰值识别算法及其应用研究
2024-09-30
数据分析+hive基础及进阶SQL练习题+面试
2024-08-12
微众银行数据开发项目实战
2024-08-09
采购全流程闭环分析体系建设
2024-08-09
基于实际案例的HiveURL解析函数实战
2024-08-01
大数据数据仓库建设规范
2024-08-01
SQL企业真实笔试题详解
2024-07-25
史上最详细的CDH安装运维优化手册
2024-07-25
铁路行业通用数字化解决方案
2024-07-25
数据指标体系建立实战方法
2024-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人