Spark/Flink/Doris离线&实时数仓开发
文章平均质量分 90
本人长期从事大数据开发,从0到1做过多个互联网和政府类的数据仓库项目开发。本专栏介绍从0到1搭建数据仓库的过程,分享数据仓库开发过程遇到各种问题和如何优化,小白用户也能快速成为中高级的数仓开发工程师。
Doris来替代hive存储数据,可以解决hive占用存储空间大和ADS层查询慢等痛点。
余额抵扣
助学金抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
大模型大数据攻城狮
在阿里巴巴等多种类型公司工作过,第一份工作是在大厂做移动开发,后来在创业公司由于团队需要做后台开发、嵌入式开发等几乎全栈开发,最近这些年还保持必要全栈开发,精力更多在大数据、大模型等领域。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Spark/Flink/Doris离线&实时数仓开发》目录
欢迎加入《Spark/Flink/Doris离线&实时数仓开发》付费专栏!本专栏专为大数据工程师、数据分析师及准备大数据面试的求职者量身打造,聚焦Spark、Flink、Doris等核心技术,覆盖离线与实时数仓开发的全流程。无论你是想快速上手项目、提升技术能力,还是在面试中脱颖而出,这里都能为你提供。原创 2025-05-24 15:21:55 · 2079 阅读 · 0 评论
-
如何让HBase支撑十亿级查询?HBase表结构优化的终极指南
在Compaction过程中,HBase会发现f:basic这个Cell在所有HFile中都是“旧”的、“不变”的,可能会(取决于Compaction策略)跳过重写这个大的JSON块。有些数据,如用户的实时行为标签,价值会随时间迅速衰减。Region分裂本身是一个高I/O消耗的过程,涉及HFile的重新切分与元数据变更,会严重挤占正常的读写资源,导致集群性能剧烈抖动。这个过程,我们称之为。试想,十亿用户,即便每日仅有1%(千万量级)的用户画像发生变动,每个快照占用50KB,每日新增存储便高达500GB。原创 2025-11-18 08:33:51 · 658 阅读 · 0 评论 -
(深度长文)如何确保ETL在数据源“真正”更新后再执行?一份3万字的终极填坑宝典
让我们回到最初的场景。你已经用上了Airflow的SqlSensor,它轮询上游的表。凌晨2:30,上游的存储过程终于跑完了,它COMMIT了一条的记录。你的Sensor绿了。你的主ETL任务启动了。你安全了吗?不一定。一个事故。上游的存储过程因为一个bug,在处理1000万行数据时,在第500万行抛了个异常。但该死的,它了那个异常。在CATCH块里,它没有ROLLBACK,而是简单地记录了一下日志,然后...它继续执行,并成功地在控制表里插入了'COMPLETED'状态。原创 2025-11-10 00:01:53 · 917 阅读 · 0 评论 -
打造一个安全、可审计的数据交换平台:从理论到实战的全面指南
必须做到万无一失。原创 2025-10-28 14:29:45 · 559 阅读 · 0 评论 -
如何设计一个高可用的 Kafka 集群
用 kafka-consumer-groups.sh 检查消费者组状态,搭配告警。原创 2025-09-24 00:03:01 · 489 阅读 · 0 评论 -
解锁 HBase 写入性能:从瓶颈到飞速的实战指南
编写脚本定期检查 Region 分布和热点。原创 2025-09-22 09:27:05 · 738 阅读 · 0 评论 -
干货分享:如果结合大模型来读懂修改优化复杂SQL
接手旧项目时,最怕之一是看复杂SQL,没有用CTE表达式,各种嵌套,各种操作都在一个SQL中,就像看天书一样,更不用提去修改优化。有了大模型,这个问题可以得到好转。下面分享自己如何利用大模型来读懂复杂SQL和修改优化的。 SQL,作为数据世界的通用语言,简单查询谁都会写,但一旦涉及复杂业务逻辑、嵌套子查询、跨表关联,甚至是海量数据的性能瓶颈,优化就成了一门艺术。而大模型(LLM)的出现,像是给这门艺术装上了“智能引擎”。它们不仅能读懂SQL,还能分析语义、提出优化建议,甚至直接重写代码,省时省力。大模型的核原创 2025-09-15 06:39:04 · 1017 阅读 · 0 评论 -
在电商行业构建数据湖:解锁用户画像与实时推荐的秘密武器
明确测试目标,比如点击率(CTR)、转化率(CVR)、客单价(GMV)。原创 2025-09-09 06:41:53 · 672 阅读 · 0 评论 -
企业数据湖:从混沌到秩序的分层设计与治理策略
IAM限制访问,理赔团队只能看脱敏数据。他们的治理策略用Azure Purview管理元数据,自动爬取Raw层的HL7格式数据,记录Curated层的标准化表,标注Consumer层的报表主题。引入分层后,Raw层存原始日志,Curated层把销售数据按时间、地域标准化,Consumer层直接生成“上海门店日销售额”表,分析师两秒钟就能拿到结果。这里的数据已经过精心打磨,专为业务场景量身定制,无论是BI报表的炫酷图表、机器学习模型的训练集,还是实时仪表盘的动态数据,Consumer层都得让用户用得。原创 2025-09-01 00:02:07 · 1033 阅读 · 0 评论 -
数据湖如何打造统一存储与处理方案(结构化数据、半结构化数据和非结构化数据)
销售数据(结构化)用Athena分析,司机日志(半结构化)用Spark处理,监控视频(非结构化)用Rekognition提取元数据。某电商平台用CSV存储销售数据,每天生成10GB文件,查询时经常卡壳。:用Kafka或AWS Kinesis摄入实时数据,存到数据湖的“热分区”(如S3 Standard),用Flink处理后写入Delta Lake或Iceberg表。:用Spark提取结构化数据特征(如销售趋势),用AI模型(如Hugging Face的BERT)处理文本或图像,生成特征向量,存回数据湖。原创 2025-09-05 10:36:28 · 545 阅读 · 0 评论 -
数据湖中的机器学习模型服务化:从理论到实战
模型再训练好了,怎么安全、快速地上线?数据湖的生态为模型上线提供了强大的支持,但“最后一公里”往往隐藏着不少坑。以下是上线流的核心要点。原创 2025-09-08 07:02:14 · 769 阅读 · 0 评论 -
Flink Checkpoint 原理深度剖析与作用讲解(flink面试高频问题)
我在找flink相关的大数据开发的面试,这个问题被问不少于5次。Spark Checkpoint和Flink Checkpoint有什么不同?Flink Checkpoint设置是考虑什么因素。Flink Checkpoint设置过小会有什么问题。只有深入了解Flink Checkpoint 原理才不怕各种变种问题及追问。原创 2025-08-19 07:57:03 · 828 阅读 · 0 评论 -
用 Flink SQL 和 Paimon 打造实时数仓:深度解析与实践指南
如果业务逻辑复杂,SQL 不够灵活,可以用 UDF(用户定义函数)。原创 2025-08-12 00:07:35 · 1174 阅读 · 0 评论 -
Doris物化视图的深度解析、使用场景与实践指南
金融场景对时效性和一致性要求高,建议用异步物化视图结合短周期刷新(如 10 分钟),并按时间分区以优化性能。原创 2025-08-09 08:25:20 · 10434 阅读 · 0 评论 -
MPP数据库选型指南:Doris与ClickHouse全方位对比
选定了数据库,性能调优就是让它跑得更快、更稳的“秘密武器”。Doris和ClickHouse就像两匹赛马,调优得当,能让它们在赛道上飞驰!下面我们分享两者的实用调优技巧,结合真实案例,帮你把性能发挥到极致。原创 2025-08-07 00:05:01 · 1328 阅读 · 0 评论 -
计算用户日活:从数据设计到可视化的全流程(高频场景题)
用户日活跃量(DAU,Daily Active Users)是互联网产品的命脉指标,简单说,就是一天内有多少用户真正“动”了你的产品。但“动”是个模糊词,具体指什么?是打开App就算?还是得完成一次核心操作,比如发条微博、刷个短视频、点个外卖?定义日活的第一步,就是把这个“动”掰扯清楚。见过一个创业团队,把“打开App”就算日活,结果数据好看得很,但用户打开后秒退,压根没用核心功能。后来他们改成“完成一次搜索或购买”,日活数据腰斩,但真实反映了用户粘性。定义日活得贴合产品目标,不然就是自欺欺人。原创 2025-08-04 00:09:29 · 1529 阅读 · 0 评论 -
ECharts从入门到精通:解锁数据可视化的魔法世界
想让标题更大胆?柱子更立体?title: {text: '高颜值柱状图',},series: [{}]效果:标题粗大白,柱子带点阴影,瞬间高端大气!嫌内置主题不够独特?可以自己定义主题!});小技巧:用在线工具(比如ECharts主题编辑器)调色,省时又省力。想让图表更有创意?graphic组件能让你绘制自定义图形,甚至加点动画效果。x: 100,y: 100,{ percent: 1, rotation: Math.PI * 2 } // 旋转一周],}],效果。原创 2025-07-31 00:03:01 · 829 阅读 · 0 评论 -
深入剖析 Spark Shuffle 机制:从原理到实战优化
默认情况下,Shuffle 文件由 Executor 提供,Reduce 任务通过 Executor 的 BlockManager 拉取数据。但如果 Executor 因为 OOM 或 GC 被杀死,Shuffle 文件也会丢失,导致整个 Stage 重跑。外部 Shuffle 服务将 Shuffle 文件的管理交给一个独立的进程,Executor 挂了也不影响数据可用性。原创 2025-07-31 00:03:23 · 966 阅读 · 0 评论 -
数据江湖的“三国演义”:数据仓库、数据湖与湖仓一体的全景对比
一家流媒体公司(如某“网飞”)用AWS S3搭建了数据湖,存储用户观看记录(JSON格式)、视频元数据(CSV)和用户上传的评论(文本)。:数据仓库要求数据在进入之前就得“洗白白”,通过ETL(Extract, Transform, Load)流程,把原始数据整理成统一的格式,存入关系型数据库(如Oracle、Snowflake)。如果说数据仓库是整齐的图书馆,数据湖(Data Lake)就是一片未经开发的原始丛林,数据以原始形态存储,自由度极高,适合各种“野蛮生长”的数据处理需求。原创 2025-07-28 00:05:01 · 894 阅读 · 0 评论 -
Flink CEP 动态模板与规则动态修改实践完全手册
"start": {"times": {"min": 1,"max": 10},},"message": "用户 {event.userId} 触发高额交易报警,累计金额: {aggregate.amount}"解析事件类型:只匹配 TRANSACTION 事件。条件:单笔交易金额 ≥ 1 万元。聚合逻辑:5 分钟内累计金额超 10 万元。动作:触发报警,推送消息到 Kafka。原创 2025-07-24 00:15:28 · 1047 阅读 · 0 评论 -
Flink高频考点:Checkpoint与Savepoint的高可用实战指南
默认情况下,Flink使用Kryo序列化状态,但对于复杂对象,可能需要自定义序列化器以提高性能或兼容性。// 构造函数、getter、setter略@Override@Override// 其他方法实现略效果:自定义序列化器减少了序列化开销,特别适合复杂对象或高频Checkpoint场景。原创 2025-07-21 00:02:42 · 1019 阅读 · 0 评论 -
用 Flink CEP 打造实时规则引擎:从理论到实战的全面指南
如果用户在浏览商品后10秒内没下单,就推送一个优惠券提醒!听起来简单,但背后需要实时监控用户行为、匹配特定事件序列,还要保证低延迟和高吞吐。这时候,Flink 的复杂事件处理(Complex Event Processing,简称 CEP)就派上用场了。Flink CEP 是 Apache Flink 提供的一个强大库,专门为处理无限事件流中的模式匹配而生。它能从海量数据流中识别出符合特定规则的事件序列,像是正则表达式在字符串上的匹配,但这次是在实时数据流上跳舞。原创 2025-07-17 00:00:49 · 1124 阅读 · 0 评论 -
阿里云MaxCompute SQL与Apache Hive区别面面观
MaxCompute(原名ODPS)是阿里云的明星产品,专为PB级数据分析打造,号称“零运维、开箱即用”。Hive则是Hadoop生态的元老,靠着HQL(Hive Query Language)让无数开发者用SQL操作HDFS上的数据。表面上看,它们都是“SQL友好”的数据仓库,但内核的差异决定了它们的适用场景和性能表现。接下来,我们会从架构设计、SQL语法、执行引擎、源码调用流程到类结构,逐一揭开它们的面纱。要搞清楚MaxCompute和Hive的区别,先得从它们的“骨架”——系统架构说起。Hive诞生于原创 2025-07-11 08:45:53 · 1134 阅读 · 0 评论 -
MaxCompute数据迁移至OSS完全指南
Tunnel SDK和OSS SDK都支持日志记录,结合SLF4J或Log4j可以实现细粒度的性能监控。try {try {// 每1000条记录日志一次源码解析Logger:SLF4J的日志接口,记录迁移进度、错误和性能指标。:逐行读取MaxCompute数据,hasNext和next方法支持流式处理。:OSS的流式上传接口,适合大文件传输。监控逻辑:每1000条记录计算一次速度,捕获异常并记录错误,迁移结束后输出总结。优化技巧采样频率。原创 2025-07-08 00:10:04 · 1431 阅读 · 0 评论 -
MapReduce数据处理过程2万字保姆级教程
使用 Combiner 时,监控 mapreduce.job.combine.input.records 和 mapreduce.job.combine.output.records 指标,检查数据压缩效果。源码中,Combiner 的调用在 MapOutputBuffer.spill 中,前面已分析过。:核心逻辑在 org.apache.hadoop.yarn.client.api.YarnClient 和 org.apache.hadoop.mapreduce.v2.app.MRAppMaster。原创 2025-07-07 00:01:57 · 759 阅读 · 0 评论 -
这才叫窗口查询!TDEngine官方文档没讲透的实战玩法
场景设定:假如你有一张超级表metersCREATE TABLE meter001 USING meters TAGS ("A栋1单元", 1);CREATE TABLE meter002 USING meters TAGS ("A栋2单元", 1);...现在你想统计这栋楼里每个相位(phase)的平均电压变化趋势,每15分钟为一个窗口,每小时滚动一次。然后你发现结果“怪怪的”:有的时间段缺数据;某些phase没出现在结果里;数据数量不稳定。问题在哪?是。原创 2025-07-04 00:11:23 · 1000 阅读 · 0 评论 -
线上作业一挂就懵逼?Flink 容错机制全景解析来了!
实现 TwoPhaseCommitSinkFunction,用临时表模拟事务写入。原创 2025-07-03 00:08:02 · 769 阅读 · 0 评论 -
搞懂 Flink Watermark,只需看这一篇:乱序流处理全解密
Watermark是Flink中一种特殊的时间标记,携带了一个时间戳,告诉系统某个时间点之前的数据可以被“安全”处理。它本质上是一种数据结构,包含一个时间戳(long类型),由用户或Flink自动生成,穿插在数据流中,与普通数据元素一起流动。别看代码简单,Watermark的威力全在它的使用逻辑上。它会随着数据流在算子间传递,通知每个算子:当前可以处理的时间范围。如果内置策略不能满足需求,你可以实现自己的WatermarkStrategy。@Override// 5秒乱序@Override。原创 2025-07-02 07:50:48 · 703 阅读 · 0 评论 -
用Flink打造实时数仓:生产环境中的“坑”与“解药”
使用Flink的StreamingFileSink配置合理的滚动策略(如基于文件大小或时间),合并小文件。代码示例。原创 2025-06-30 00:02:25 · 968 阅读 · 0 评论 -
DataX 实现 Doris 和 MySQL 双向同步完全指南
作为一名在大数据运维领域摸爬滚打多年的老兵,我深知数据同步在企业级应用中的重要性。今天咱们就来聊聊如何用 DataX 这个阿里开源的数据同步工具,实现 Doris 和 MySQL 之间的双向数据同步。说实话,刚开始接触 DataX 的时候,我也是一头雾水。但经过这几年的实战,发现这玩意儿确实好用,特别是在处理异构数据源同步的时候,简直就是神器。原创 2025-06-23 00:03:46 · 2069 阅读 · 0 评论 -
线上Doris挂了咋办?这套自动重启+备份+切主脚本能让你睡个安稳觉!
别以为监控就是装个Prometheus、挂个Grafana。稳定性保障体系包括:自动检测 FE (Leader + Follower) 是否挂掉自动判断是否需要执行 metadata recovery自动判断 BE 是否存活并重启每天定时备份doris-meta元数据,备份不丢才是真的可恢复日志留痕,方便排查问题链Follower 脚本必须比 Master 脚本更“保守”。若集群多个 Follower 节点同时掉线,不要一股脑都启动,先确认 Leader 的状态。原创 2025-06-17 07:23:14 · 1336 阅读 · 0 评论 -
使用TDEngine REST API + Python来计算电力指标的ETL真实案例
在大数据时代,时序数据的处理已成为核心需求。从物联网传感器数据到金融交易记录,时序数据无处不在。本文是企业生产实践的真实案例,从时序数据库TDEngine读取数据,进行补点操作后,进行求和计算结果,最后把计算结果写入到mysql,可用于离线数仓。原创 2025-06-02 06:26:36 · 1291 阅读 · 0 评论 -
每天分钟级别时间维度在数据仓库的作用与实现——以Doris和Hive为例(开箱即用)
在现代数据仓库建设中,是不可或缺的基础维表之一。尤其是在金融、电力、物联网、互联网等行业,对于高频数据的统计、分析、报表、数据挖掘等场景具有极其重要的作用。本文将以为例,详细讲解每天分钟级别时间维度表在数据仓库中的,帮助读者全面理解并掌握分钟级别时间维度表的设计与落地。原创 2025-05-23 07:21:09 · 1399 阅读 · 0 评论 -
海豚调度器工作流状态监控 + 报表生成情况邮件报告系统— 一套让你早上睁眼就知道离线数仓有没有崩的神器(即拿即用)
做为打工人,如果离线数仓在晚上跑崩了,没有第一时间知道并介入处理,等到上班时领导或业务要看报表时看不到,这就是一个工作事故。有了这款早上睁眼可以看离线数仓报告神器,如果早上一起床不用打开电脑各种登录,轻松在手机看一下情况,有问题及时处理,没问题轻轻松松去上班。还在每天靠手工登录海豚调度器,看着一堆任务列表苦哈哈地找异常?还在被领导催着汇报“昨天的工作流到底跑没跑完”?还在因为VPN、内网限制,周末也得爬起来开电脑看报表?这些痛苦,我都懂。原创 2025-05-15 00:00:45 · 1237 阅读 · 0 评论 -
零售行业中如何通过数据分析优化选品策略
在零售行业,选品策略直接决定了企业的成败。面对琳琅满目的商品选择和瞬息万变的市场需求,零售商常常陷入两难:库存积压导致资金周转困难,或者热销商品断货错失销售机会。这种挑战在竞争日益激烈的市场环境中尤为突出,尤其是在电商与实体店并存的时代,消费者需求的多样性和个性化趋势让选品变得更加复杂。如何精准预测市场需求,优化商品组合,成为摆在每一位零售从业者面前的难题。数据分析的出现,为解决这一困境提供了强有力的工具。原创 2025-05-08 00:01:18 · 744 阅读 · 0 评论 -
大数据实时数仓的数据质量监控解决方案
实时数仓,简而言之,是一种能够以极低延迟处理和分析大规模数据的系统。与传统数据仓库主要处理历史数据、依赖批量ETL(Extract-Transform-Load)流程不同,实时数仓强调数据的即时性,支持从数据生成到分析结果输出的全流程在毫秒到秒级完成。它的核心价值在于为企业提供“实时洞察”,即在数据生成的同时快速转化为可执行的业务价值。以电商平台为例,实时数仓可以根据用户浏览和购买行为,动态调整推荐算法,确保用户在几秒内看到最相关的商品。这种能力直接影响用户体验和转化率。原创 2025-05-05 00:00:44 · 2479 阅读 · 0 评论 -
数仓开发必懂:如何建立精细化运营的指标体系
精细化运营是一种以数据为核心、以流程为骨架、以用户价值为导向的管理理念。它强调对业务的全链条进行深度剖析,将每一个环节的投入与产出进行量化评估,从而实现资源的最优配置和效果的最大化。与之相对的传统运营模式往往依赖经验判断和粗放式管理,而精细化运营则通过系统化的指标、工具和方法,将决策从“拍脑袋”转向“靠数据说话”。从本质上看,精细化运营是一种“拆解与重组”的过程。原创 2025-04-28 00:05:11 · 1522 阅读 · 0 评论 -
大数据面试高阶情景题:如何实现数据脱敏又不影响分析精度
数据脱敏,简而言之,是指通过技术手段对原始数据中的敏感信息进行处理,使其在特定场景下无法直接识别或关联到具体个体或实体,同时尽量保留数据的某些特性以支持后续分析或应用。这一过程可以被视为一种“数据伪装”,其核心目标在于降低数据泄露的风险,保护个人隐私或商业机密。具体而言,数据脱敏可以通过多种方式实现,例如将真实姓名替换为随机生成的字符串、将精确的地理位置模糊化为一个大致范围,或者对数值型数据进行区间划分。这些操作的核心在于隐藏数据的直接可识别性,但不同方法的适用场景和效果差异显著。原创 2025-04-25 00:18:01 · 883 阅读 · 0 评论 -
如何识别金融欺诈行为并进行分析预警
金融欺诈是一个涵盖广泛、复杂多样的概念,它不仅仅是一种违法行为,更是对经济体系和个人信任的严重侵蚀。简单来说,金融欺诈是指通过欺骗、隐瞒或非法手段获取经济利益的行为,通常涉及资金、资产或信息的非法转移。这类行为往往以获取不当利益为目的,手段隐蔽且具有高度破坏性,不仅导致直接经济损失,还可能引发信任危机,动摇市场信心,甚至影响社会稳定。根据国际反欺诈组织(ACFE)的统计,全球每年因欺诈造成的经济损失高达数千亿美元,涉及从个人到企业、从地方到跨国的各个层面。原创 2025-04-24 00:17:44 · 834 阅读 · 0 评论 -
大数据面试高阶问题:同一业务的多个部门有不同指标口径,如何统一
指标定义的差异是口径不统一最直观的表现之一。表面上看,各个部门使用的指标名称可能相同,但背后所指的具体含义却大相径庭。以“用户增长率”这一指标为例,市场部门通常将其定义为“新增注册用户数与上期总用户数的比值”,目的是评估推广活动的效果。然而,运营部门可能更关注活跃用户的变化,将“用户增长率”定义为“本期活跃用户数与上期活跃用户数的比值”,以反映产品粘性和用户参与度。尽管两者的指标名称一致,但由于定义不同,得出的数据结果往往无法直接比较。这种定义上的分歧在日常工作中会带来显著的困扰。原创 2025-04-23 00:02:38 · 1707 阅读 · 0 评论
分享