- 博客(191)
- 收藏
- 关注
原创 大数据学习(137)-大数据组件运行时角色
HDFS 中的 NameNode 元数据管理和 Hive 中的 Metastore 元数据在功能上虽然都涉及“元数据”,但两者的。:NameNode 类似于图书馆的目录系统,记录所有书籍的位置;DataNode 类似于书架,存放实际的书籍。TaskManager 类似于车辆,执行具体的运输任务。Executor 类似于工人,执行具体的任务。TaskTracker 类似于工人,执行具体的任务。:Hive 类似于一个翻译官,将 SQL 查询翻译为底层计算引擎能理解的任务。
2025-06-12 16:40:07
1008
原创 大数据学习(138)-Hive数据分析3
计算每个商品在不同促销活动下的加权平均销量(权重为活动持续天数)。:将用户标签(每行一个标签)转为列(每个标签一列)。:查询每个部门薪资最高且入职最早的前 2 名员工。:检测用户登录记录中连续缺失超过 3 天的区间。:识别用户每周固定某天的登录习惯(如每周三)。:计算用户每次登录后 24 小时内的消费总额。:计算每个用户最近 5 次登录的平均停留时长。:为每个用户找到距离最近的 3 个服务点。:查询每个部门薪资前 10% 的员工。:计算每个区域及其子区域的总销售额。:计算每小时的平均请求数。
2025-06-12 10:59:23
1168
原创 大数据学习(136)-数据埋点
我们做产品、做运营,都离不开数据分析,而做数据分析的前提,是我们保存了用户行为数据。埋点,就是将我们关心的数据保存下来的技术。数据埋点是一种常用的数据采集方法,是数据产品经理、数据运营以及数据分析师,基于业务需求或产品需求对用户在应用内产生行为的每一个事件对应的页面和位置植入相关代码,并通过采集工具上报统计数据,以便相关人员追踪用户行为和应用使用情况,推动产品优化或指导运营的一项工程。
2025-06-10 18:07:23
583
原创 大数据学习(134)-数据分析函数对比对比 range between ... and ... range between ... and ... 与 rows between ... and ...
🍋🍋🍋🍋在SQL窗口函数中,和都用于定义窗口框架(window frame),但它们在确定窗口范围的方式上有重要区别。
2025-06-09 10:56:57
142
原创 大数据学习(133)-Hive数据分析2
通过事件时间间隔划分会话,间隔超过阈值则视为新会话(如 30 分钟无操作)。递归 CTE 处理树状结构数据(如部门层级、类目层级)。:计算 2023 年各月销售额同比 2022 年的增长率。结合聚合函数,按多个维度(如时间、地区、品类)交叉统计。过滤实现抽样(如抽取 10% 数据)。:计算用户两次登录的时间间隔(分钟)。获取相邻行的时间值,计算时间间隔。按阶段过滤用户,计算各阶段转化率。:计算注册→浏览→下单的漏斗转化率。:按年份、地区统计各品类销售额占比。:计算每个用户的会话数及会话时长。
2025-06-08 16:18:54
838
原创 大数据学习(131)-Hive数据分析函数总结
datepart参数决定了返回值的时间单位,可以是年(year)、季度(quarter)、月(month)、周(week)、日(day)、小时(hour)、分钟(minute)、秒(second)等。时间单位可以是年份 (YEAR)、月份 (MONTH)、日期 (DAY)、小时 (HOUR)、分钟 (MINUTE)、秒钟 (SECOND) 等等。如果省略,默认值为 1。例如,有3条排在第1位时,排序为:1,1,1,4······例如,有3条排在第1位时,排序为:1,1,1,2······
2025-06-06 16:12:26
513
原创 大数据学习(129)-Hive数据分析
找出消费金额超过 90% 用户的 “超级用户”,并计算其总消费占比。,若有并列则跳过后续排名(如两个第 1 名后,下一名为第 3 名)。划分为不同会话(session),并计算每个会话的持续时间。计算相邻事件的时间差,超过阈值则标记为新会话。(如 “电子产品> 手机 > 智能手机”)。(如用户 A 先买了手机,后买了手机壳)。(即该用户消费超过了百分之多少的用户)。预分区,减少 JOIN 时的数据移动。计算每个用户的消费金额在全量用户中的。,包括无活动的日期(用 0 填充)。为 JSON 数组(如。
2025-06-04 18:59:33
1622
1
原创 大数据学习(128)-数据分析实例
(首日登录后,次日 / 7 日仍登录的用户比例)。(最近购买时间 R、购买频率 F、消费金额 M)。(同订单中同时出现的频率最高)。的用户及其最长连续登录天数。,并按年同比增长排序。
2025-06-04 13:41:37
941
原创 大数据学习(126)-窗口函数范围
🍋🍋大数据学习🍋🍋🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞在 SQL 中,窗口范围(Window Frame)通过 子句的 、 或 关键字定义,用于确定聚合函数操作的数据子集。以下是详细解析:窗口范围的三种模式1. 模式基于 物理行号 确定范围,不考虑值的差异。 示例: 2. 模式基于 逻辑值范围 确定范围,适用于日期、数值等有序字段。示例(日期字
2025-06-01 11:53:32
500
原创 大数据学习(125)-hive数据分析
(活跃 = 当月有登录,流失 = 连续 3 个月未登录)。(0 = 未登录,1 = 登录),包括缺失的日期。,并找出间隔超过 30 天的用户。的用户(不允许更长的连续区间)。(假设会话间隔为 30 分钟)。(假设表中仅记录登录日期)。
2025-05-29 20:25:16
881
原创 大数据学习(124)-spark数据倾斜
scala// 实现自定义分区器,将倾斜键分散到不同分区// 对倾斜键进行哈希分散} else {// 非倾斜键使用默认分区math.abs(strKey.hashCode) % (partitions / 10) // 减少非倾斜键分区数// 使用自定义分区器。
2025-05-29 18:07:55
932
原创 大数据学习(123)-hive压缩与存储方式
🍋🍋🍋🍋Hive 作为大数据领域常用的数据仓库工具,其压缩与存储方式的选择对存储成本、查询性能有直接影响。Hive 支持多种压缩算法,通过减少数据体积优化存储和传输效率。
2025-05-27 09:45:30
289
原创 大数据学习(122)-分区与分桶表
维度分区(Partition)分桶(Bucket)组织方式按列值划分目录(如按日期分目录)按哈希值分散到固定数量的文件中(如000000_0000001_0主要目的减少查询扫描范围(如快速定位某日期数据)优化JOIN/GROUP BY性能(通过减少数据倾斜)列选择通常选择高筛选性的列(如日期、地区)选择分布均匀的列(如用户ID、订单号)数量灵活性可动态增减(如添加新分区)数量固定(需预先定义,修改复杂)数据倾斜可能加剧倾斜(如某分区数据量过大)缓解倾斜(通过哈希均匀分布)
2025-05-26 20:33:25
567
原创 大数据学习(121)-sql重点问题
"在电商订单表中,我们冗余存储了用户姓名,因为订单查询时 90% 的场景需要展示用户信息,这样能减少 JOIN 操作,提升查询速度。通过灵活组合窗口函数、窗口子句和索引优化,可高效解决各类复杂数据分析需求,提升 SQL 查询的表达能力和执行效率。"我会先分析执行计划,若发现全表扫描,优先添加索引;窗口函数是 SQL 中处理复杂数据分析的强大工具,常用于排名、累计计算、同比环比等场景。:若查询仅需窗口函数结果,可创建覆盖索引避免回表。,聚焦高频考点中的易错点和细节差异,覆盖。:计算近 3 天的平均订单量。
2025-05-26 17:01:38
1715
2
原创 大数据学习(120)-partition by 与 group by区别
的核心差异,结合具体业务场景选择合适的方法,可大幅提升 SQL 编写效率和查询性能。:计算每个部门的累计工资(按工资升序)。:统计每个部门的员工数量和平均工资。:查询每个部门的员工及其工资排名。:计算每个月的销售额环比增长率。不会合并行,若需去重需配合。:计算每个部门的总工资。
2025-05-26 16:35:08
592
原创 大数据学习(118)-SQL面试问题总结
🍋🍋🍋🍋在 SQL 面试中,JOIN是高频考点,面试官通常会考察对不同连接类型的理解、应用场景、性能优化以及关联条件的逻辑。
2025-05-25 17:15:21
1803
原创 大数据学习(117)-kafka
Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。几种分布式系统消息系统的对比:推荐相关文章:各消息队列对比,Kafka深度解析,众人推荐,精彩好文!
2025-04-30 16:05:20
1039
原创 大数据学习(115)-hive与impala
🍋🍋🍋🍋简介:Impala和Hive都是大数据领域中广泛使用的查询工具,它们在功能、性能和适用场景上存在一些差异。本文将深入比较这两者,并探讨Impala的优缺点。
2025-04-29 16:47:21
1215
原创 大数据学习(112)-HIVE中的窗口函数
在 Apache Hive 中,窗口函数(Window Functions)是一类强大的 SQL 函数,用于对查询结果集的一个“窗口”或“分组”进行计算,而不减少结果集的行数。Hive 中的窗口函数为数据分析提供了强大的工具,可以用于排名、聚合、累积计算、前后值比较等操作。子句定义了窗口的范围和排序方式。
2025-04-22 15:47:53
589
原创 大数据学习(111)-group by与partition by
是 SQL 中用于数据分组或划分的两个不同概念,尽管它们在某些场景下看起来可能相似,但它们的目的和用法有显著的区别。
2025-04-22 15:17:38
389
原创 大数据学习(110)CTE类型的SQL
公用表表达式(CTE)其实是SQL语句中的“临时表”,定义后可以在同一个查询中多次使用。相比传统子查询,CTE让代码更简洁、结构更清晰。CTE的出现就是为了提升SQL查询的可读性,特别是对于复杂查询场景,CTE简直是救世主!🙏简而言之,CTE是SQL代码中的“局部变量”,你可以用它来暂时存储中间结果,就像在打游戏时暂存进度一样。🎨 CTE的语法与结构-- 这里放查询逻辑基本语法分为三步:使用关键字WITH引入CTE。起个名字,比如cte_name,方便后续调用。
2025-04-22 14:52:47
736
原创 大数据学习(109)-Impala 和 Hive 之间的 SQL 差异
有关 Impala 中授权的详细信息,包括如何使用存储在元存储数据库中的权限从原始基于策略文件的权限模型切换到 Sentry 服务,请参阅。由于 Impala 和 Hive 共享同一个元存储数据库,并且它们的表经常互换使用,因此以下部分详细介绍了 Impala 和 Hive 之间的差异。本节介绍的实例 Impala 和 Hive 具有相似的功能,有时包含相同的语法,但这些功能的运行时语义存在差异。Impala 支持用 C++ 编写的高性能 UDF,以及重用一些基于 Java 的 Hive UDF。
2025-04-21 17:52:13
692
原创 大数据学习(108)-子查询
子查询的执行时机:子查询是在外层查询的每一行上动态执行的,而不是先独立完成所有子查询操作。相关子查询的特点:子查询中引用了外层查询的表,因此每次执行时都会根据外层查询的当前行进行计算。执行顺序:外层查询逐行处理,每行触发一次子查询,然后根据子查询的结果判断是否满足条件。
2025-04-15 18:23:06
465
原创 大数据学习(105)-Hbase
HBase是一个基于Hadoop的分布式、可扩展、支持大数据存储的数据库。需要随机或实时读写大数据的场景支持数十亿行和数百万列的大表分布式列存储BigTableHBase(基于Hadoop)BigTable是Google的分布式列存储系统,HBase是其开源实现,提供稀疏多维映射表。分布式文件系统GFS是Google的早期分布式文件系统,HDFS是其开源版本,支持大规模数据存储。海量数据处理框架MapReduce。
2025-04-10 17:32:09
1011
原创 大数据学习(104)-clickhouse与hdfs
🍋🍋🍋🍋ClickHouse和HDFS(Hadoop Distributed File System)都是大数据领域的核心技术组件,但它们的定位和功能有显著差异。
2025-04-09 17:06:17
575
原创 大数据学习(103)-Clickhouse详解
ClickHouse 是一个用于实时数据分析的开源列式数据库,最初由俄罗斯的 Yandex 开发。它以高性能和卓越的可扩展性著称,专门用于高性能数据分析。它被设计用于大规模数据集的高速查询和分析,特别适用于 OLAP(联机分析处理)工作负载。
2025-04-09 16:50:21
1096
原创 大数据学习(102)-spark shuffle
实际上,使用过程中还有其他一些限制,如引入 Page 形式的内存管理模型后,内部单条记录的长度不能超过 128 MB (具体内存模型可以参考 PackedRecordPointer 类)。另外,分区个数的限制也是该内存模型导致的。所以,目前使用基于 Tungsten Sort Shuffle 实现机制条件还是比较苛刻的。
2025-04-08 16:41:10
779
原创 大数据学习(101)-spark的高可用模式
在 Spark Standalone 集群的 HA 模式中,多个 Master 节点需要协作以实现故障自动转移。
2025-04-08 15:32:11
334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人