- 博客(274)
- 资源 (3)
- 收藏
- 关注
原创 Hive JOIN底层MapReduce实现解析
Join 类型原理适用场景优点缺点通过 Shuffle 确保相同Key到同一Reducer通用场景最通用性能差,Shuffle开销大Map Join小表装入内存,Map端直接关联一大一小表关联速度极快,无Shuffle小表必须足够小SMB Join利用预先的分桶和排序,极大优化Shuffle和Reduce过程两大表关联解决大数据量Join的性能问题需要预先分桶排序,灵活性差Skew Join将热点Key分散处理数据存在严重倾斜的Common Join避免数据倾斜导致的长尾问题。
2025-09-05 11:38:48
643
原创 HiveSQL与SparkSQL对比分析
HiveSQL:本质是一个“翻译器”。它将你编写的 SQL 查询翻译成MapReduce任务在 Hadoop 上运行。它擅长稳定的、超大规模数据的批处理,但延迟较高。SparkSQL:本质是核心框架的一个组件。它将 SQL 查询翻译成基于内存的计算任务。它同样擅长批处理,并且因为内存计算而速度极快,同时还支持流处理、机器学习和图计算。HiveSQLSparkSQL核心比喻可靠但缓慢的货运轮船快速灵活的快艇关键技术MapReduce(磁盘迭代)Spark RDD(内存迭代)最佳场景。
2025-09-05 10:57:51
590
原创 Hive中ORDER BY、SORT BY、CLUSTERED BY区别
特性ORDER BYSORT BYCLUSTERED BY (在SELECT中)排序范围全局排序Reducer内部排序Reducer内部排序输出文件数1个(或很少)与Reducer数相同与Reducer数相同性能差(单点瓶颈)好(并行执行)好(并行执行)数据分发无法控制,全部发往一个Reducer需配合控制自动按字段哈希分发排序字段可任意指定可任意指定分发和排序必须是同一字段主要用途小数据量全局排序大数据量分区内排序,需灵活控制分发和排序字段1.建表分桶2. 按同一字段分发并排序。
2025-09-05 10:54:44
512
原创 Hive中的窗口函数
它不会将多行数据聚合成一行,而是为查询的每一行返回一个值。计算时,函数会基于一个与当前行相关的“窗口”(一组行)来进行。OVER()子句是窗口函数的标志,它定义了计算的数据集窗口。当使用了ORDER BY后,默认的窗口是(从分区第一行到当前行)。ROWS: 基于物理行(行的位置)。RANGE: 基于逻辑值(排序字段的值)。: 分区的第一行: 分区的最后一行: 当前行: 当前行之前的 N 行 (ROWS only): 当前行之后的 N 行 (ROWS only): 从当前行的前2行到后1行。
2025-09-05 10:49:26
1022
原创 hive sql 为什么没有spark sql快
对比维度对速度的影响磁盘I/O多,每个阶段都落盘少,优先内存Spark 快得多计算模型批处理,阶段间阻塞DAG,流水线执行Spark 快得多迭代计算支持差,效率极低原生支持,效率高Spark 快极多内存利用主要用磁盘充分利用内存Spark 快得多优化器传统,优化规则少先进的 Catalyst 优化器Spark 更智能高级特性无Tungsten(代码生成,堆外内存)Spark CPU效率更高容错性好(通过磁盘冗余)好(通过RDD血统+检查点)相当延迟高(分钟级及以上)
2025-09-04 14:24:32
515
原创 那些年,我在阿里做数据开发
业务变了,对应的数据也都发生了很大的变化,我到了ICBU后,被分配到负责流量和广告相关的业务,会接触到大量的日志数据,比如页面浏览,点击,曝光,还有P4P点击广告相关的日志,面对这么多非结构化的日志数据,我一开始都不清楚为什么需要这些日志的数据, 但是通过后面不断对互联网业务的熟悉,才知道流量分析对网站的重要性,这个阶段我也熟悉了很多流量相关的业务知识,比如SEM,PPC,SEO,联盟等等。写在最后,我觉得大家都是在将自己的能力最大化,价值最大化的过程中前进,所以有时候“往前迈一步”,可能会有更好的风景。
2025-09-03 10:21:01
1054
原创 为什么kafka在2.8版本之后就弃用了ZooKeeper作为注册中心(详解kafka底层架构原理)?
kafka作为中重要一员的存在,它在大数据处理、日志记录等领域有着广泛的应用,本篇文章着手讲述kafka在底层架构上面为何会在2.8版本后弃用ZooKeeper作为中间件。
2025-08-28 10:02:52
1033
原创 Kafka怎么避免重复消费
无提交的offset时,从头开始消费。消费者在消费消息时,可以保存已经消费过的消息偏移量,然后在消费新消息时,从上一次消费的偏移量开始,避免重复消费。通过kafka以上的措施,当消费者消费数据时,每隔一段时间会将自己消费过的消息的 offset 提交一下,表示“我已经消费过了,下次我要是重启啥的,你就让我继续从上次消费到的 offset 继续消费吧”。中,这个问题就比较简单了,因为 Redis 的 set 操作天然具有幂等性,即多次执行同样的 set 操作,只会产生一个相同的结果,不会产生重复数据。
2025-08-27 17:34:02
643
原创 如何正确使用索引
通常,我们在执行一条 SQL 语句时,要想知道这个 SQL 先后查询了哪些表,是否使用了索引,这些数据从哪里获取到,获取到数据遍历了多少行数据等等,我们可以通过 EXPLAIN 命令来查看这些执行信息。:联合索引中,范围查询后的列无法使用索引(如。:MySQL无法直接使用索引值,需逐行计算。:MySQL需隐式转换类型,导致索引失效。:调整查询条件或索引顺序,确保包含最左列。:排序字段顺序或方向与索引不一致(如索引为。:索引按左到右匹配,缺失左列则无法使用。:结合业务逻辑调整查询,或使用覆盖索引。
2025-08-23 16:50:23
654
原创 数据库开发规范
在某业务中,由于多表关联查询语句没有加表的别名(或表名)的限制,正常运行两年后,最近在某个表中增加一个同名字段,在预发布环境做数据库变更后,线上查询语句出现出。对多表进行查询记录、更新记录、删除记录时,如果对操作列没有限定表的别名(或表名),并且操作列在多个表中存在时,就会抛异常。另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。都存在精度损失的问题,很可能在比较值的时候,得到不正确的结果。的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引。
2025-08-23 16:49:52
770
原创 什么是RFM模型
三个黄金维度,高效地将母婴用户划分为不同价值等级(如 VIP、需挽留、潜力用户等),为后续的精准营销(如 VIP 专属服务、流失用户召回、潜力用户转化)提供了最基础也是最关键的决策依据。在面试中阐述清楚 RFM 的原理、应用过程和你的优化点,会是非常有力的加分项。RFM 模型是客户价值分析中一种经典且实用的量化模型,它通过三个关键维度评估用户价值,帮助企业识别最有价值的客户群体。RFM 模型是你简历中“用户价值分层模型构建”职责的核心工具。(注:↑表示得分高/值优,↓表示得分低/值差)
2025-07-07 14:51:18
473
原创 数字营销中衡量广告效果的核心指标
将广告平台数据(如CTR/CPC)与业务数据(如复购率/ROAS)打通,结合归因模型评估真实贡献。尤其在零售媒体中,遵循IAB/MRC标准可避免“数据黑箱”,实现跨平台对比。用好这些指标的关键在于。
2025-07-03 16:18:35
1346
原创 数据分析常用指标名词解释及计算公式
类别指标名称 (英文缩写)核心解释基本计算公式流量规模页面浏览量 (PV)页面被加载的总次数∑(页面加载次数)独立访客数 (UV)不同用户的数量访问/会话次数 (Visit/Session)用户连续互动的次数∑(新会话次数)日/周/月活跃用户 (DAU/WAU/MAU)特定时间段内有互动的用户数Count(DISTINCT 活跃用户标识)用户行为人均页面浏览量 (Pages/Visit)每次访问平均浏览页面数总PV / 总访问次数平均访问时长每次访问平均停留时间。
2025-07-03 14:57:02
1076
原创 07 | 查询最近一笔有效订单
目标:为每个用户查询最近一笔有效订单(非取消状态且最近完成)。核心需求排除(取消状态)的订单返回每个用户最近一笔成功订单的详细信息无有效订单时返回NULL业务场景:电商订单追溯、风控系统交易校验、用户行为分析。
2025-06-30 17:17:53
660
原创 06 | 使用共同IP地址问题
目标:识别共同使用过3个及以上相同IP地址的用户对,用于检测潜在的黑产团伙或账号共享行为。核心需求找出共享至少3个相同IP地址的用户对统计共享的IP数量列出共享的具体IP地址业务场景金融风控:识别养号团伙社交平台:检测账号买卖行为游戏反作弊:打击工作室多开企业安全:监控异常账号关联。
2025-06-27 17:03:21
48
原创 大数据面试真题_M
实时任务一旦延迟该怎么快速解决延迟,如何确保数据不重复,不丢数据,如何知道延迟。数据治理该怎么治理,比如模型治理,运行效率,和任务合理性以及跨层很多问题。kafka分区和写入该怎么设计,怎么能确保下游消费数据不延迟,不丢数据。对于olap引擎知道哪一些,哪个更好,后续推荐用哪一款来批流一体。flink任务优化可以从哪些方面入手,对于效率问题该怎么操作。离线数仓怎么确保任务及时性,任务产生了dqc告警怎么解决。干的数据开发技术组件和模型以及数据治理说一下。实时数仓如何做到指标实时,并且数据不会算错,
2025-06-26 17:31:28
336
原创 Hive中map、reduce数量如何调整
当某些 Key 的数据量超过阈值时,Hive 会启动额外的 Reduce 任务处理倾斜数据。由不同的策略和参数共同决定,直接影响作业的并行度和性能。:一个 1GB 的未压缩文本文件,
2025-06-26 16:55:52
1075
原创 Hive优化方案与实践总结
了解数据规模、分布、倾斜情况、访问模式是优化的基础。ANALYZE收集统计信息至关重要。分区和分桶是最基础也是最高效的优化手段。ORC/Parquet 列式存储 + 压缩是标配。从源头和运维两端入手。牢记列剪裁、谓词下推、分区剪裁。优先使用 Map Join / SMB Join。避免笛卡尔积和低效的DISTINCT。根据集群规模、数据量、任务特点调整 Map/Reduce 数量、内存、并行度、Join 相关参数。从 MapReduce 迁移到 Tez 或 Spark 通常能获得显著性能提升。
2025-06-26 15:27:16
1014
原创 Hive 支持的核心开窗函数分类及常用函数
熟练掌握可高效实现复杂业务逻辑(如排名、滑动平均、趋势分析),避免冗长的多步子查询!在 Hive 中,开窗函数(Window Functions)允许在数据集的。上执行计算,同时保留原始行明细。定义窗口范围是开窗函数的核心,通过。在窗口内执行标准聚合操作,但。
2025-06-26 14:43:24
410
原创 大数据面试真题_J
九章数据那边暂时能想起来的就这么几个点,反正就是看你的简历下菜 ,一直给你需求,还有很多需求想不起来了,就一直问你需求怎么实现 看你的随机应变能力了。
2025-06-25 17:38:25
431
原创 【数据仓库】核心概念(二)
在划分数据域时,既能涵盖当前所有的业务需求,又能让新业务在进入时可以被包含进已有的数据域或扩展新的数据域。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。数据仓库一般分为三层,自下而上为:数据接入层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。进而,可以进行跨源的主题域合并,跨源梳理出整个企业的数据域。
2025-06-25 14:55:39
1158
原创 【数据仓库】核心概念(一)
在维度建模中,将度量称为事实,将环境描述为维度。度量通常为数值型数据。例如店铺每个月的销售额、库存情况,访客情况就是度量。维度是用于分析事实所需要的多样环境。例如,在分析交易过程中,可以通过买家、卖家、商品和时间等维度来描述交易发生的环境。事实表: 像一本流水账或动词。它记录发生了什么(销售、点击、访问)以及发生的程度(数量、金额)。核心是“数字”。维度表: 像一本字典或形容词/名词。它提供描述谁做的、对什么做的、什么时候做的、在哪里做的等背景信息。核心是“描述”。
2025-06-25 14:21:31
356
原创 05 | 相互关注问题
目标:在社交网络数据中识别相互关注(互粉)的用户对,即用户A关注了用户B,同时用户B也关注了用户A核心需求识别双向关注关系(互粉)排除单向关注关系统计互粉用户对数量应用场景社交网络好友推荐系统(如微博、抖音)社区关键用户识别(KOL发现)社交关系强度分析虚假关注检测高频考点海量数据处理:如何优化10亿+关注关系的互粉查询?动态互粉检测:如何实时更新互粉状态?虚假关注识别:如何检测异常互粉模式?避坑指南空值处理:使用COALESCE处理可能的NULL值数据倾斜。
2025-06-24 14:49:54
59
基于阿里云部署CDH-6.3.2
2025-08-23
MySQL官方测试数据集 test-db-master.zip
2025-06-13
Spark快速大数据分析(清晰文字版)
2018-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人