自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 4. Python的深拷贝、浅拷贝

【情况二】:如果修改的元素是不可变对象,那么修改了a内元素,b内元素不会发生变化,该元素在a、b内的id将不再相同(由相同变为不相同)。【情况二】:如果修改的元素是不可变对象,那么修改了a内元素,b内元素不会发生变化,该元素在a、b内的id将不再相同(由相同变为不相同)。【情况一】:如果修改的元素是可变对象,那么修改了a内元素,b内元素不会发生变化,该元素在a、b内的id仍然不相同;【情况一】:如果修改的元素是可变对象,那么修改了a内元素,b内元素会发生变化,该元素在a、b内的id仍然相同;

2024-05-09 23:47:23 463 2

原创 10. hive中随机抽样数据:order by limit 对比 distribute by rand limit

在Hive中随机抽取一部分数据时,选择使用 ORDER BY LIMIT 还是 DISTRIBUTE BY RAND() 配合 LIMIT 取决于具体的应用场景和需求。在实际应用中,需要根据。来选择最合适的方法。

2024-05-09 17:10:22 664 2

原创 9. 学习distribute by rand()

先对rand取哈希然后对reduce数目(500)取余,保证了每条数据分配到所有reducer的可能性是相等的,这样reducer处理的数据量就是均匀的,在数据量比较大的情况下,每个reducer产生的文件数为动态分区的个数,产生的文件总个数500。1)负载均衡:当数据量非常大,并且需要在多个reduce任务之间平衡负载时,使用 DISTRIBUTE BY RAND() 可以随机(近似均匀)分配数据,从而避免某些reduce任务过载而其他任务却空闲的情况。通过随机分布数据,可以减少数据倾斜的影响。

2024-05-09 15:05:39 1610 2

原创 3. join操作时,过滤条件写在on和where的异同?

数据库在通过连接两张或多张表返回数据时,均会先生成一张中间的临时表,然后再将临时表返回给用户。left join 和 right join 场景中,过滤条件写在on和where。inner join 场景中,过滤条件写在on和where。

2024-04-27 16:38:37 578 2

原创 3. 指标收口

通过持续的评估和改进,可以确保指标体系始终能够满足组织的需求,并支持有效的数据驱动决策。这包括去除冗余的指标、更新不再适用的指标、以及添加新的业务需求所要求的指标。:在数据仓库建设中,首先需要对每个指标进行明确的定义,包括它的计算方法、数据来源、以及它所代表的业务含义。这意味着无论在哪个部门或系统,相同的指标都应当采用相同的度量标准和计算方法,以保证数据的一致性和可比性。在数据仓库建设中,“指标收口”指的是在数据仓库的指标体系设计和实施过程中,对指标进行统一管理和优化,以确保数据的一致性、准确性。

2024-04-21 10:57:05 152

原创 1. A/B Test

A/B Testing 是一种在互联网or科技公司常见的,帮助我们判断产品改善方案是否可行的、在线的一种统计实验工具。类似于初中生物学的对照实验。举例:比如我们当前现存一个产品版本A,同时根据单一变量P原则 ,设计出一个改善后的版本B。接下来对实验用户分组,一组用户使用A、一组用户使用B。然后,在相同的时间维度内,观测两组用户的实验数据和反应。最后,根据假设检验原理,判断B版本相较于A版本而言,是否带来了统计学意义上的显著差异。同时,需要确定这些差异是否最终将带来商业价值。

2024-04-21 00:05:04 832

原创 6. 尚硅谷大数据111门技术+42个项目

链接:https://pan.baidu.com/s/1pT5Pdnjy4hLiFX2Oov4BLQ。链接:https://pan.baidu.com/s/1SVt51kJjvFnNcMR30glOyA。链接:https://pan.baidu.com/s/1A4uQuhcHwaEPOUJSpP19Rw。链接:https://pan.baidu.com/s/1RZYAitVMb8d1XWxIC6GBOg。链接:https://pan.baidu.com/s/1bvkGjUhk4TlXw06XxI6vqQ。

2024-02-05 14:42:18 1827 5

原创 5. 如何把开源仓库同步到自己的gitee/github/gitlab,同时保留git log(代码提交记录)

如何把开源仓库同步到自己的gitee/github/gitlab,同时保留git log(代码提交记录)

2024-02-03 13:43:55 702

转载 8. 如何快速地把 Hive 中的数据导入 ClickHouse

Seatunnel 拥有着非常丰富的插件,支持从Kafka、HDFS、Kudu中读取数据,进行各种各样的数据处理,并将结果写入ClickHouse、Elasticsearch或者Kafka中。其中 pre_sql 是从Hive中读取数据SQL, table_name 是将读取后的数据,注册成为Spark中临时表的表名,可为任意字段。假定我们的数据已经存储在Hive中,我们需要读取Hive表中的数据并筛选出我们关心的字段,或者对字段进行转换,最后将对应的字段写入ClickHouse的表中。

2024-01-29 11:28:26 410 1

原创 2. 《大数据之路:阿里巴巴大数据实践》学习笔记,持续更新ing

《大数据之路:阿里巴巴大数据实践》读书笔记

2024-01-28 16:10:08 614

原创 2. Presto应用

注意:我的数据里面没有AppPageView数据,所以我在执行的时候没有添加它,但是我添加了两个AppClick就不对了,因为我们在开发UDAF的时候里面设置的是Map类型结构,我们获取Event名称的时候,发现相同Key了,而Map的Key是唯一的,所以你写入Key值得时候,会被覆盖,那么数据就乱了,所以这里我选择了一个SignIn,这个字段也没有的,只是代替一下,所以大家在操作的时候要看一下你的数据是否有这几个事件,不然结果就有可能不对。同理,打包上传即可,然后重启Presto就可以使用。

2024-01-11 17:14:52 1135

原创 1. Presto基础

注:时间戳格式化 format_datetime(timestamp,‘yyyy-MM-dd HH:mm:ss’)满足条件则计数:count_if()【hive中没有,同hive中 sum(if(condition,1,0))】返回string中符合pattern的元素: regexp_extract_all、regexp_extract。注2:max(x, n)、min(x, n) 与rank相比,书写更简单,但无法直接带出相关信息。即:int型 转换成 2017-05-10 06:18:50.000。

2024-01-11 17:10:59 2329

原创 2. Spark报错,Task is Failed,errorMsg: FileNotFoundException xxxx

还可以在Spark中通过运行 REFRESH TABLE tableName 命令来刷新表,或者重新创建相关的Dataset/DataFrame。Airflow 调度脚本更新表xxxx的数据后,使用SparkSQL 查询表xxxx数据报如上错误。刷新表或重新创建相关的Dataset/DataFrame以使缓存失效。

2023-11-08 12:55:38 793 1

原创 1. Flink程序打Jar包

【代码】1. Flink程序打Jar包。

2023-10-01 19:57:31 1637

原创 4. DataGrip 中 SQL 的格式化格式

个人比较习惯使用的格式化格式,留作备份

2023-09-21 09:41:40 1929

原创 50. 员工在职人数问题

如果1个月在职天数只有1天,数量计算方式:1/当月天数。实际在职员工数量(只统计2020-03-31之前)。前提: 所有员工入职时间 >= 2020-01-01。现有用户表(emp)如下。关联得出每个人在职的记录。计算每天的员工变动情况。

2023-09-10 10:40:49 402

原创 49. 视频热度问题

此题存在多处疑点和表达错误的地方,如果你看到了这篇文章,劝你跳过该题。该题对提升HSQL编写能力以及思维逻辑能力毫无帮助。谨以此笔记献给浪费掉的两个小时。

2023-09-09 22:26:35 571

原创 48. 排列问题

拿到所有球队比赛的组合,每个队只比一次。现有球队表(team)如下。

2023-09-04 09:40:56 245

原创 47. 打车问题

注:不同时段定义:早高峰 [07:00:00 , 09:00:00)、工作时间 [09:00:00 , 17:00:00)、晚高峰 [17:00:00 ,20:00:00)、休息时间 [20:00:00 , 07:00:00) 时间区间左闭右开(即7:00:00算作早高峰,而9:00:00不算做早高峰)各时段以 event_time 为划分依据,平均等待接单时间和平均调度时间均保留2位小数。从开始打车到司机接单为等待接单时间,从司机接单到上车为调度时间。司机订单信息表(get_car_order)如下。

2023-09-03 21:50:10 175

原创 1. 企业大数据开发流程

新的需求一般由 PD(Product Designer)产品设计师、数据分析师、BI(Business Intelligence)商业智能 等人提出,绝大部分由PD提出。这里需要与业务方多轮沟通,明确需求细节、数据交付形式、期望交付节点。对现有数据进行梳理,梳理出现有数据的详细情况以及需要补充的数据情况。需求类型:数据分析(看板、报表)、用户标签、数据服务、数据应用;即当我们接到一个新的需求后(需求文档),我们应该怎么做。需求沟通:与业务方进行需求细节沟通;参与人员:业务方、技术、数据开发。

2023-09-03 18:56:43 559

原创 46. 出勤率问题

注:出勤率指用户看直播时间超过40分钟,求出每个课程的出勤率(结果保留两位小数)。现有用户出勤表(user_login)如下。课程报名表(course_apply)如下。

2023-09-03 17:58:46 529

原创 45. 复购率问题

注意: 对 ‘最大日期’ 的理解, ‘最大日期’ 取所有 product_id 公共的 max(order_date),即每个 product_id 的 ‘最大日期’ 均相同。(以订单详情表(order_detail)中最后的日期)在内的近90天。每个 product_id 有自己专属的 ‘最大日期’,即每个 product_id 的 ‘最大日期’ 可能不同。注:复购率指用户在一段时间内对某商品的重复购买比例,复购率越大,则反映出消费者对品牌的忠诚度就越高,也叫回头率。

2023-08-29 16:10:20 491 2

原创 7. Hive解析JSON字符串、JSON数组

说明:将 字符串A中 符合 java正则表达式B 的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数。解析出其中的website、name。当我们数据的结构如下,我们想要获取的数据为,

2023-08-28 22:51:40 4398

原创 38. 连续签到领金币数

用户每天签到可以领1金币,并可以累计签到天数,连续签到的第3、7天分别可以额外领2和6金币。从用户登录明细表中求出每个用户金币总数,并按照金币总数倒序排序。用户登录明细表:user_login_detail。每连续签到7天重新累积签到天数。

2023-08-28 16:48:24 459 4

原创 36. 国庆期间每个品类的商品的收藏量和购买量

文章目录题目需求思路一实现一题目来源题目需求从订单明细表(order_detail)和收藏信息表(favor_info)统计2021国庆期间,每个商品总收藏量和购买量。期望结果如下(截取部分):sku_id sku_sum (购买量)favor_cn (收藏量)1381102052112252需要用到的表:订单明细表:order_detailorder_detail_id(订单明细id)order_id(订单id)sku_id(

2023-08-28 13:05:01 118

原创 35. 同期商品售卖分析表

从订单明细表(order_detail)中,求出同一个商品在2021年和2022年中同一个月的售卖情况对比。订单明细表:order_detail。

2023-08-28 11:48:52 134

原创 33. 查看每件商品的售价涨幅情况

从商品价格变更明细表(sku_price_modify_detail),得到最近一次价格的涨幅情况,并按照涨幅升序排序。商品价格变更明细表:sku_price_modify_detail。

2023-08-28 11:35:13 216

原创 32. 某周内每件商品每天销售情况

从订单明细表(order_detail)中查询2021年9月27号-2021年10月3号这一周所有商品每天销售情况。订单明细表:order_detail。

2023-08-28 10:10:55 99

原创 31. 按年度列出每个商品销售总额

从订单明细表(order_detail)中列出每个商品每个年度的购买总额。订单明细表:order_detail。

2023-08-28 09:52:38 109

原创 44. 日期交叉问题

现有各品牌优惠周期表(promotion_info)如下,其记录了每个品牌的每个优惠活动的周期,其中同一品牌的不同优惠活动的周期可能会有交叉。现要求统计每个品牌的优惠总天数,若某个品牌在同一天有多个优惠活动,则只按一天计算。各品牌优惠周期表:promotion_info。

2023-07-09 23:25:17 446

原创 43. 间断连续登录用户问题

现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如:一个用户在1,3,5,6登录,则视为连续6天登录。现有各用户的登录记录表(login_events)如下,表中每行数据为:一个用户何时登录了平台。用户的登录记录表:login_events。

2023-07-09 20:25:02 510

原创 42. 会话划分问题

现有如下需求,为属于同一会话的访问记录增加一个相同的会话id字段,会话id格式为"user_id-number",其中number从1开始,用于区分同一用户的不同会话。现有页面浏览记录表(page_view_events)如下,每行数据代表:每个用户的每次页面访问记录。规定若同一用户的相邻两次访问记录时间间隔小于60s,则认为两次浏览记录属于同一会话。页面浏览记录表:page_view_events。

2023-07-09 17:17:50 415

原创 6. Hive中的 explode / posexplode 和 lateral view

lateral view 是 Hive 中提供给 UDTF 函数使用的,它可以解决使用 UDTF 后不能添加额外 select 列的问题。lateral view 会将 UDTF 生成的结果放到一个虚拟表中,然后这个虚拟表会和。将 arrary 或 map 结构数据拆分成多行,并返回拆分后的每个元素。进行 join 来达到关联 UDTF 外的 select 字段的目的。注意:这两个值需要在 as 之后用括号括起来然后以逗号分隔。拆分成多行,并返回拆分后的。将 arrary 数据。(不能用于map数据)

2023-07-09 15:51:29 1581

原创 2. SQL中的透视表 (枢纽表、pivot table)

枢纽表(英语:pivot table)也翻译成透视表,是用来汇总其它表的数据。首先把源表分组(grouping),然后对各组内数据做汇总操作如排序、平均、累加、计数或字符串连接等。透视表用于数据处理,在数据可视化程序如电子表格或商业智能软件中常见。一张表包含一列数;透视表仅含一行一列为源表该列的均值。源表有两列分别为 “性别“ 与 “身高” ,表的每行给出一个人的性别与高度;透视表有两行两列,在 “性别” 列分别写 “男性” 与 “女性” ,在 “身高” 列分别写对应性别的平均身高。

2023-07-09 11:56:30 2181 1

原创 40. 同时在线最多的人数

根据用户登录明细表(user_login_detail),求出平台同时在线最多的人数。用户登录明细表:user_login_detail。

2023-07-09 11:19:46 287

原创 41. 同时在线人数问题

表中每行数据表达的信息为:一个用户何时进入了一个直播间,又在何时离开了该直播间。现有各直播间的用户访问记录表(live_events)如下。直播间的用户访问记录表:live_events。现要求统计各直播间最大同时在线人数。

2023-07-09 11:04:47 794

原创 39. 国庆期间的7日动销率和滞销率

从订单明细表(order_detail)和商品信息表(sku_info)表中求出国庆7天(2021-10-01~2021-10-07)每天每个品类的商品的动销率和滞销率。滞销率定义为品类商品中一段时间内没有销量的商品占当前已上架总商品数(当前品类)的比例(没有销量的商品 / 已上架总商品数)。动销率定义为品类商品中一段时间内有销量的商品占当前已上架总商品数(当前品类)的比例(有销量的商品/已上架总商品数)。订单明细表:order_detail。商品信息表:sku_info。

2023-07-07 22:58:53 380

原创 37. 统计活跃间隔对用户分级结果

注意:最近7天,在该题目中是 date_add(‘2021-10-09’, -7),而 date_add(‘2021-10-09’, -6) 是更合适的。假设今天是数据中所有日期(login_ts)的最大值,从用户登录明细表中的用户登录时间给各用户分级,求出各等级用户的人数。用户登录明细表:user_login_detail。流失用户:近30天未活跃但是在30天前活跃。沉睡用户:近7天未活跃但是在7天前活跃。忠实用户:近7天活跃且非新用户。新晋用户:近7天新增。

2023-07-07 22:05:46 318

原创 34. 销售订单首购和末次购买分析

通过商品信息表(sku_info)订单信息表(order_info)订单明细表(order_detail)分析,如果有一个用户成功下单两个及两个以上的手机订单(手机品牌共有如下三种: xiaomi 10,apple 12,小米13)。那么输出这个用户的 user_id 及第一次购买手机的日期和最后一次购买手机的日期,以及总共购买手机的次数。订单明细表:order_detail。订单信息表:order_info。商品信息表:sku_info。

2023-07-06 18:39:24 269

原创 30. 登录次数及交易次数统计

分别从登录明细表(user_login_detail)和配送信息表(delivery_info)中,根据用户登录时间和下单时间统计每个用户在每一天的登录次数和交易次数。用户登录明细表:user_login_detail。配送信息表:delivery_info。

2023-07-06 16:36:11 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除