自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunny的专栏

Stay Hungry Stay Foolish

  • 博客(200)
  • 资源 (5)
  • 收藏
  • 关注

原创 【Flink】旁侧流的应用场景及代码实战

在 Flink 中,"旁侧流"(Side Output)是一种特殊的输出流,它可以从同一个操作中分离出不同的数据流,从而实现数据的多路复用。

2024-10-05 14:56:50 751

原创 Spark读取MySQL优化方案辩证

上篇文章验证 Spark 任务需要的内存,跟单个 partition 的数据量大小,以及数据计算逻辑复杂度有关。但是之中有个最大的特点,就是把 MySQL 作为数据源的时候,无论数据量多大,Spark 默认都只有一个分区。这也就导致了每次数据量增加时,需要分配给 Spark 单个 partition 的内存越来越大,而 HDFS,不管数据量增加到多大,Spark 却都可以淡定的保证内存一直不变。

2024-10-03 11:10:34 1068

原创 Spark 任务需要的内存跟哪些因素有关

关于一个具体的 Spark 任务,需要设置多少内存这个问题,应该有很多同学都很关注。。而在现实开发中,很多人对于 Spark 任务的内存设置,根本就没有一个很清晰的认识,基本遵循的都是「随心所欲」原则(包括很多大厂也一样),导致大量的内存浪费。那么今天这篇文章,咱们就以相同的数据源,让它同时以 HDFS,跟 MySQL 作为数据源载体,然后,用 Spark 以相同的计算逻辑,对它们进行计算,最后将计算结果写到同一个存储里面。

2024-10-02 23:30:24 939

原创 【Hive】利用Distribute by 解决动态分区小文件过多问题

参数默认值说明false是否开启动态分区功能,默认false关闭。使用动态分区时候,该参数必须设置成true;strict动态分区的模式,默认strict,表示必须指定至少一个分区为静态分区;nonstrict模式表示允许所有的分区字段都可以使用动态分区。100在每个执行MR的节点上,最大可以创建多少个动态分区。该参数需要根据实际的数据来设定。比如:源数据中包含了一年的数据,即day字段有365个值,那么该参数就需要设置成大于365,如果使用默认值100,则会报错。1000。

2024-10-02 12:15:57 1758 1

转载 【Hive】比较多个列并返回最大或最小值(greatest&least)

在工作开发中遇到取两列值中最大的值,当时首先想到的是max函数,因为在java中经常有类似的比较两个数值大小的情况,后来意识到max是取一列中的最大值,查询其他资料得知需要用到greatest函数,特意把greatest函数和least函数的简单用法总结下。

2024-08-27 16:54:49 1043

原创 实时链路中的Kafka数据发现某字段值错误

常用手段就是通过输出幂等方式保障,这种方式要求输出使用存储介质支持重写,对于不支持幂等的存储,比较常用的就是DWD层的kafka, 可能会产生重复的数据,那么在下游使用的时候可以使用row_number()语法进行去重,保证相同的key不会被多次计算;数据在流转路径中因为异常导致流转中断,数据停止在某一个环节中,当异常解决,系统恢复正常时,停止的数据(停止的数据)需要快速恢复流转,并且这种恢复是正确的,不应该存在重复的消费和加工或者遗漏。我们在离线时代已经有了非常完善的数据质量监控体系。

2024-08-19 14:36:25 924

原创 Flink消费Kafka数据积压排查解决

有个Flink任务每天不定时会出现数据积压,无论是白天还是数据量很少的夜里,且积压的数据量会越来越多,得不到缓解,只能每日在积压告警后重启,重启之后消费能力一点毛病没有,积压迅速缓解,然而问题会周而复始的出现,无论是周末还是节假日忍不了。

2024-08-19 14:06:37 1699 1

转载 大数据迁移项目的指南

每个步骤都需要严谨细致的管理与执行,确保整个迁移项目的成功。在整个过程中,充分沟通、风险控制、质量管理、变更管理都是至关重要的环节。建立数据映射规则:在不同数据模型间转换数据时,定义字段映射关系。创建并执行小规模迁移试验,验证迁移过程和结果是否符合预期。迁移完成后进行全面的数据校验,确保新旧系统间的数据一致性。设计详细的迁移流程:包括备份策略、迁移顺序、回滚计划等。执行迁移计划,在特定的时间窗口内进行数据迁移。开发迁移脚本或使用工具实现数据转换逻辑。以下是一般的大数据迁移项目的基本流程。

2024-08-14 16:22:41 393

原创 详解HiveSQL执行计划

Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其实是不等价的,看似不等价的SQL其实是等价的SQL。。explain,在查询语句的SQL前面加上关键字explain是查看执行计划的基本方法。学会explain,能够给我们工作中使用hive带来极大的便利!

2024-06-29 17:56:16 1661

原创 数据分析-常用模型-RFM模型

漏斗模型中,大部分业务都是按流程推进,可以做漏斗分析。此时,你本能地会想到:能不能不要每次都统计漏斗,而是直接看行为结果的发生频率、发生数量、发生时间,这样就能快速区分出高低用户之间的差异。是滴,这是个正确的思路,RFM模型的设计思路正是如此。

2024-06-29 15:42:36 1151

原创 数据分析-常用模型-漏斗模型

漏斗模型,其实应该叫做“流程式业务分析模型”。它是基于业务流程数据,对业务进行分析诊断的工具。。比如网上购物,看到一个喜欢的商品,点来点去还没看到下单页面,用户就会流失。因此,随着步骤的增加,每一步都有用户流失,数据形同“漏斗”。因此有了漏斗模型的名字(如下图)。其实在供应端,也有类似的流程分析模型,只不过不是每一步减少用户,而是每一步增加成本、增加产出时间。这些业务流程的分析方式与销售端类似,只不过从关注流失变成了关注成本增长,如果大家喜欢,叫他:“滚动模型”或者“花卷模型”,也行。

2024-06-29 15:16:28 2474

原创 基线管理是什么

作为数据开发人员,我们日常工作的一部分就是夜间值班。”夜间值班“对于没有实际工作经验的同学来说可能比较陌生。所谓夜间值班,主要是为了保证数据可以在我们的对外承诺时间前产出。而由于日常生产任务依赖关系异常复杂,上游任务的任何延迟、失败都会影响到我们的数据能否在预期时间内产出,因此就有了基线监控。智能基线可以及时捕捉到任何影响基线任务按时产出的事件,并提前进行预警,保障复杂场景下重要数据也可以在预期时间内顺利产出。

2024-06-25 09:05:23 1207

转载 Flink⼤状态作业调优实践指南:Datastream 作业篇

Apache Flink 是一个开源的流处理框架,用于处理和分析实时数据流。在 Flink 中,状态管理是流处理应用的核心概念之一,它允许算子(operators)在处理事件时保持和操作状态信息。在 Flink 中,状态可以被视为算子的“记忆”,它使得算子能够在处理无界流数据时保持对历史数据的跟踪。状态可以是简单的键值对,也可以是更复杂的数据结构,如列表、集合或自定义对象。状态的更新和查询对于实现复杂的流处理逻辑至关重要。具体说来,首先,Checkpoint 是 Flink 的一种容错机制。

2024-06-04 12:16:41 118

原创 如何更好的理解业务

本质上,是谁在使用你的产品,谁就是你的用户群体。画出用户画像,锁定用户群体,再依据用户的痛点,针对性优化产品和投放广告,往往能事半功倍。用户画像关键因素一般包括性别分布、年龄分布、常驻地区、学历水平、手机终端、兴趣爱好、活跃时间段、职业分布、收入水平、婚配情况、消费特征、行为偏好、活动场景等。比如,今日头条的用户画像为:18-30 岁,常活跃在二三四线城市,主要终端为安卓。

2024-03-15 11:02:45 1265

原创 用户增长常见分析模型

随着流量红利的结束。最大的价值是可以带来更迅猛的复合增长,复合增长相对于线性增长,最大的区别是每一份投入是否可以换来成倍回报。在上面模型中提高留存的优先级还是不够的,Growth Loops,增长循环,又叫增长飞轮,是一套自循环的系统,这套系统的输入经过一系列的流程产生了一些输出,这些输出又可以直接带来新的输入。(Average Revenue Per User)= 某期间内点总收入/该期间内的用户数,这个用户可以是付费用户,可以是活跃用户等,用户在平均生命周期中的平均收入,一般采取日均值即可。

2023-11-21 11:39:36 1268

原创 数据一致性保障难点与解决方案

目前,分布式数据一致性问题还没有普世通用的解决方案,它需要从业务需求的角度出发,确定对各种一致性模型的接受程度,再通过具体场景来选择解决方案。从应用角度看,分布式事务的现实场景常常无法规避,特别是对涉及金融类的业务,数据一致性是底线,业务需要对数据有百分之百的掌控力。而一般的电商交易场景,使用基于消息队列的柔性事务框架是不错的选择。

2023-09-18 15:40:12 821

原创 数据中台从规划到落地的不同阶段

系统都是为应用而生的,数据中台也不例外。要构建一套数据中台服务于企业内部和外部运营,需要有成熟的建设方法论作为指导。数据中台建设方法论可分为高阶规划、系统设计、开发实施、试运行和持续运营 5 个阶段。

2023-07-20 11:30:09 1223

原创 驾驶舱数据指标体系设计指南

大数据时代下,各行各业面对众多的顾客和复杂多变的市场需求,要想及时适应市场变化,掌握市场动态,就需要对各个环节的数据进行分析,得到科学有效的结论来指导决策,这就离不开领导驾驶舱。

2023-07-04 16:59:36 1973

原创 数据战略的理解与实施指南

数据战略是满足您所有数据和分析需求的基础,尤其是在您的组织希望在分析上变得更加成熟的情况下。它并不侧重于短期项目,而是一个长期计划,对人员、流程和技术进行全面的审视。在您开发数据战略框架时,请记住七个关键要素:与业务战略、分析和数据成熟度评估、数据体系结构和技术、数据分析团队、数据治理、数据战略路线图以及文化变革和管理。

2023-07-04 16:32:45 1171

原创 分布式ID解决方案对比

UUID()是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的36个字符,可以生成全球唯一的编码并且性能高效。JDK提供了UUID生成工具,代码如下:UUID完全可以满足分布式唯一标识,但是在实际应用过程中一般不采用,有如下几个原因:存储成本高: UUID太长,16字节128位,通常以36长度的字符串表示,很多场景不适用。信息不安全: 基于MAC地址生成的UUID算法会暴露MAC地址,

2023-04-25 09:54:32 1033

原创 ERP与CRM、MRP、PLM、APS、MES、WMS、SRM的关系

ERP和其他系统的关系在整个业务链中都是相互关联的,ERP就像是大脑,他操纵着全局,但又不过分干预。企业在做数字化转型需要那些系统,那么就需要看企业的核心业务是什么了,围绕着核心业务来做扩展,系统大可不必的全做集成。如果公司是以销售为核心,那么就是怎么去管理客户和企业内部的协作,数字营销这一块才是重点。如果你是生产型的企业,那还要区分你是流程型生产制造还是离散型生产制造,还是你们本身是服务型企业等。数字化转型难道就是使用这些软件吗?

2023-04-17 09:51:25 2691

转载 浅谈OLAP系统各个核心技术点

OLAP系统广泛应用于BI、Reporting、Ad-hoc、ETL数仓分析等场景,本文主要从体系化的角度来分析OLAP系统的核心技术点,从业界已有的OLAP中萃取其共性,分为4个章节。

2023-03-07 15:19:29 1254

原创 SCRM的全面了解

SCRM(Social CRM,社会化客户关系管理),是以用户为中心,通过社交平台与用户建立联系,以内容、活动、客服、商城等服务吸引用户注意力,并不断与用户产生互动,实现用户管理的系统。它的出现是基于移动电商与社交工具的兴起。在中国,用户现在已经习惯于通过手机购物,并通过多元渠道的信息进行对比决策。比如,用户想要购买⼀款美妆产品,可能不仅会从电商平台获取商品信息,还可能参考社交平台、短视频平台、搜索和资讯、生活服务应用等平台用户评价。

2023-02-20 14:51:27 2401

转载 CDP、DMP、CRM区别

数据化管理时代,几乎每个企业都在推行业务的精细化运营,新用户的获取,老用户的分层运营。为了提升数据化运营的效率,纷纷自建或外采运营工具。市面上各自CRM系统、DMP平台层出不穷,后来又有了CDP平台,那这些平台之间到底什么关系,是名词概念的更新还是功能场景上的差异呢?曾经,做过一款服务于内部产品运营的精准营销平台,当时参考了腾讯DMP,也考虑命名未XXDMP平台,后来想想,这个命名可能是不准确的。希望通过这篇文章,大家可以把这几个概念彻底搞清楚。

2023-02-13 14:56:43 1043

原创 开源数据资产(元数据)管理平台选型对比

数据治理、数据资产管理等工作,是企业数字化转型中的底层基建,很重要,却又很难体现出效果和价值。上层数据战略、数据架构、数据流程、数据规范等问题,在组织层面没有解决;不论数据资产平台等工作规划和实现得如何好,都只能体现出杯水车薪的效果。参考资料:1.wx公众号大数据流动-《12款开源数据资产(元数据)管理平台选型分析(一)》

2023-02-06 10:10:39 10983

原创 项目管理痛点

项目管理的痛点问题本来就很简单,认清事情本质,对症下药

2023-01-29 10:28:09 1041

原创 埋点成本治理实战(字节)

如果某个埋点的成本很高,而价值很低,那么它就是需要优先被治理的。① 埋点的成本直接与上报量相关:如果埋点的上报量越高,对它投入的计算和存储成本就越高。② 埋点的价值则从三个维度进行分析:离线查询,例如在 Hive 表中是否用到这个埋点;实时分流,例如这个埋点是否通过特定的实时分流规则,分流到了其他的 topic 中进行消费;是否有UBA的查询。如果在这三个维度上某个埋点的使用非常少,那么我们认为它的价值就是略低的。

2023-01-10 14:11:18 1392

转载 Spark执行计划explain使用

这一部分,是加入了catalog验证表名和列名之后的执行计划,和上一部分的很像,但增加了表的相关信息,#号代表列的序号,L代表长整型整数。根据这些,我们可以看出,物理执行计划会去寻找表所在的文件位置,取出所需要的列,规约(预聚合),广播,join的方式,聚合的列等等信息。这一部分,是优化后的逻辑执行计划,加入了判断空值、自动过滤等功能,优化了逻辑执行过程。3.优化后的逻辑执行计划:== Optimized Logical Plan ==4.物理执行计划:== Physical Plan ==

2023-01-06 10:50:34 886

原创 互联网行业常用数据分析指标

用户转介绍行为类型很多,转发内容/转发商品/介绍新用户加入等,都是转介绍行为。因此转介绍行为的定义常常会结合具体的转介绍形态而变化。很少有统一的指标。如果一定要概括的话,可以概括为:有转介绍行为人数:发生转发内容/转发商品/介绍新用户的用户人数转介绍行为带来的效果:新注册用户/商品购买/内容阅读等等除了AARRR以外,还有一类特殊的行为:风险类行为,用于识别用户的危险动作。在不同业务场景,风险定义不同。比如电商场景下刷单、薅羊毛,游戏场景下外挂使用,金融场景下欺诈交易等等。

2022-12-29 21:02:44 1396

原创 数据质量管理—理论大纲与实践(B站)

为了解释这个问题,我以我们团队在数据质量管理中积累下来的方法,为他写下四行字:数据质量期望——业务需求想要把数据质量保障到什么样的标准数据质量测量——怎么评估数据质量水平的高低、是否达到标准数据质量保障——为提升质量水平,达到质量期望,具体的保障实施动作和内容数据质量运营——如何通过数据化运营,提高保障的成果与效率这四行字,概括了我们在数据质量管理执行中的理论大纲。

2022-12-29 16:28:37 1229

原创 JAVA 线上故障排查套路,包括 CPU+磁盘+内存+网络+GC

一般来讲我们首先会排查cpu方面的问题。cpu异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁gc以及上下文切换过多。而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使用jstack来分析对应的堆栈情况。

2022-11-03 17:56:15 429

原创 CPU飙高,频繁GC,怎么排查

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。。这种情况可能的原因主要有两种:代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致Full GC次数过多,系统缓慢;代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢;相对来说,这是出现频率最高的两种线上问题,而且它们会直接导致系统不可用。

2022-11-03 17:39:21 3187

原创 高可用的“异地多活”架构是怎么设计

后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如 MySQL 数据库,redis 等内存数据库。除了这两种类型的维护方式,还有 jvm 的内存的状态维持,但jvm的状态生命周期通常很短。

2022-10-31 17:28:00 541

原创 海量标签如何治理

标签评分是标签治理的一个重要措施,通过给标签打分,可清晰直观的从各个维度评估标签,掌握标签真实使用情况,进行标签持续优化,助力业务运营。同时,也能帮助数据团队判断哪些标签更应该投入计算与存储资源,合理规划集群资源。

2022-10-25 17:18:50 532

原创 用户标签体系的搭建方法

以上就是用户标签在实践过程中一些困境以及搭建方法的简述。按照统计方式分类:可以将标签分为事实类(最基础,无需大量业务判断的标签,例如会员等级、年龄、收入等)、规则类(需要一定业务经验和判断的标签,例如最常见的RFM)和预测类(需要使用机器学习的算法预测标签值);按照实效分类:也可以将标签分为静态标签(标签值不会随时间变化,例如出生年月等)和动态标签(标签值会随时间变化)。本文介绍的搭建方式仅供各位读者参考,在实践过程中,可不拘泥于本文所提供的方法,甚至可以将多种方法结合使用。

2022-10-25 17:10:25 2925

原创 Spark Executor端日志打印的方法

大数据平台采用yarn client模式提交spark 任务,并且多个离线Spark作业共用一个Driver,好处便在于——节省提交任务的时间。但同时也加大了运维工作的难度,因为任务日志打印到同一个文件中。为了区分开各个业务流程的日志,平台引入了log4j2 RoutingAppender,配置如下所示:最近数据开发部门在使用大数据平台的二次开发算子时,反馈说平台提供的Logger对象打印不出日志,抱着好奇的心态,研究了一下平台使用的日志框架。其实平台提供的Logger对象打印在executor端打印

2022-10-19 10:33:17 3741

原创 埋点数据指标分析(APP+WEB+业务维度)

对于产品分析来说,数据指标可以从三个方面进行梳理,APP端、WEB端以及业务维度。

2022-10-12 10:15:27 1456

原创 什么是PoC测试

每个阶段的工作都需要记录好参与人、时间、工作说明,并将测试过程中企业的、供应商的文档分类归档。对每个阶段进行分析对比,总结评价,进行整体工作分析总结。PoC工作按照不同企业,和程度,测试的方式和投入力度不一样。但是目的都是相同的——验证产品或供应商能力真实满足企业需求。

2022-09-24 15:13:28 12499

原创 大数据如何进行测试

大数据测试通常是指对采用大数据技术的系统或者应用的测试。大数据测试可以分成两个维度,一个维度是数据测试,另一个维度是大数据系统测试和大数据应用产品测试。大数据测试和传统数据测试的不同与其他类型的测试一样,大数据测试也需要遵循既定的策略和方法。

2022-09-20 15:24:21 3880

原创 基于宽表的数据建模应用

依然是经典数仓表和一层宽表存储相近的情况下,经典数仓中需要使用explode等函数进行的复杂计算场景,在宽表中绝大部分需求通过count、sum即可完成,因为宽表会将业务指标下沉,复杂字段拆分打平,虽然行数变多了,但避免了explode,get_json_object等耗时操作,查询性能极高。在同一主题内,建设宽表时将维度表join到事实表中后,事实表列变多,原以为会增加一些存储,结果经过列式存储中按列的高效压缩和编码技术,降低了存储空间,在生产实践场景中,发现存储增加极少。

2022-09-14 15:29:03 1176

JQuery知识点的课件

jQuery入门参考比较好的资料,容易明白

2014-07-29

Ajax知识点课件

涵盖 Ajax 的实现原理、XMLHttpRequest 实现 Ajax、Ajax 传输的数据格式(HTML、XML、JSON)、jQuery 实现 Ajax、使用 Jackson、jQuery BlockUI 插件、经典案例等内容。

2014-07-29

埋点数据指标分析(APP+WEB+业务维度)

埋点数据指标分析(APP+WEB+业务维度)

2022-10-12

Activiti简单的Demo

Activiti简单的Demo,入门看比较容易了解

2014-08-13

mybaits参考资料

包含了mybaits的用户手册和快速入门的文档

2015-01-07

Struct2+Hibernate3+Spring3整合的纯净Demo

Struct2+Hibernate3+Spring3整合的纯净Demo

2014-10-24

空空如也

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

TA关注的人

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