自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink性能优化小结

可以通过开启缓冲消胀机制来简化 Flink 网络的内存配置调整。您也可能需要调整它。如果这不起作用,您可以关闭缓冲消胀机制并且人工地配置内存段的大小和缓冲区个数。针对第二种场景,我们推荐:使用默认值以获得最大吞吐减少内存段大小、独占缓冲区的数量来加快 checkpoint 并减少网络栈消耗的内存量。

2024-01-10 19:47:26 1281

原创 大数据组件优缺点

doris/starrocks优缺点?

2023-07-31 22:35:13 303 1

原创 CDH优化大全

写数据时,在场景允许的情况下,最好使用Put List的方式,可以极大的提升写性能。设置参数的路径如下:在CDH Manager页面中,选择“服务管理 > HDFS > 服务配置”,将“参数类别”设置为“全部配置”,并在搜索框中输入参数名称。在CDH Manager系统中,选择“服务管理 > HDFS > 服务配置”,“参数类别”类型设置为“全部配置”。在CDH Manager页面中,选择“服务管理 > HDFS > 服务配置”,将“参数类别”设置为“全部配置”,并在搜索框中输入参数名称。

2023-07-31 22:34:27 473

原创 sparksql 自动DataSourceV2源

明细模型底层使用 LSM Tree 数据结构进行存储,我们都知道 LSM Tree 是一 个写友好的数据结构,在 StarRocks 数据存储层,选择了一个两层结构的 LSM Tree,减少了 compaction 对系统的压力,也减少了 write stall 的影响。在分析统计和汇总数据时,聚合模型能够减少查询时所需要处理的数据,提升查询效率。建表时,支持定义主键和指标列,查询时返回主键相同的一组数据中的最新数据。在性能方面,从全内存的主键索引升级为持久化的主键索引,解决主键模型内存占用的问题。

2023-07-31 22:33:35 333

原创 关于数据仓库的一些梳理

主题虽然在信息包图中只占据标题的位置,但是却是信息打包方法中最重要的部分,当主题定义好之后,数据仓库中的逻辑模型也就基本成形了。数据仓库中的数据存储结构也需要在逻辑模型的设计阶段完成定义,需要向里面增加所需要的信息和能充分代表主题的属性组。而在进行数据仓库设计时,一般是一次先建立一个主题或企业全部主题中的一部分,因此在大多数数据仓库的设计过程中都有一个主题域的选择过程。确定主题边界实际上需要进一步理解业务关系,因此在确定整个分析主题后,还需要对这些主题进行初步的细化才便于获取每一个主题应该具有的边界。

2023-07-31 22:32:58 225

原创 Flink几道经典编程场景

从keyBy开始处理,设置1天的滑动窗口,步长为5,在process中使用if判断数据是不是今天的来进行累加,这样过了00:00后,昨天的数据不会被统计,也就实现了业务要求的5分钟输出一次从凌晨到当前时间的统计值.Flink是一个分布式计算框架,可能计算是分布在很多节点上同时进行的,如果计算在多个节点进行,需要对结果进行合并,这个merge方法就是做这个工作的,所以入参和出参的类型都是中间结果类型ACC。UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。

2023-07-31 22:32:11 118

原创 几道sql面试题

注意:其中的交叉日期,比如vivo品牌,第一次活动时间为2021-06-05到 2021-06-15,第二次活动时间为 2021-06-09到 2021-06-21其中 9号到 15号为重复天数,只统计一次,即 vivo总打折天数为 2021-06-05到 2021-06-21共计 17天。将一条数据拆分成两条(id,dt,p),并且对数据进行标记:开播为1,关播为-1,1表示有主播开播在线,-1表示有主播关播离线,其中dt为开播时间或者关播时间。需要用到开窗函数:sum() over(…

2023-07-31 22:31:30 244

原创 大数据面试问题总结

Shuffle reduce task 数量小于spark.shuffle .sort.bypassMerge Threadshold参数的值小于200,不开启,溢写磁盘不需要排序,小于等于的时候是开启的。面试题58:大促场景下实时链路数据积压,rps为100w,导致数据大屏不动了,上线前该如何保障,临时处理该如何操作,兜底方案该如何做?面试题73:如何解决数据建模中的一些挑战,例如复杂的业务规则、数据粒度的把控等?面试题73:如何解决数据建模中的一些挑战,例如复杂的业务规则、数据粒度的把控等?

2023-07-31 22:30:49 1344 1

原创 flink读写hudi

6: flink table api写入hudi数据,(数据来源于table表)

2023-07-31 22:30:11 430 1

原创 数仓之归因分析

在用户全生命周期旅程中,用户所做的事情是碎片化的,对于业务来讲,每天都会面临大量的用户数据以及用户复杂的行为路径,用户在不同生命周期阶段会产生各种触点,涉及多种设备(智能手机、平板电脑、个人电脑等)、平台(手机vs桌面网页)和渠道(付费、电子邮件、社交等),这些外因对用户产生了怎样的影响,促使用户最终完成转化?当线性归因时,按上述1,2步骤后找到每个目标事件窗口期内的待归因事件并根据时间升序排序,计算链路上的总数量,并平均分配链路上每个事件的贡献比例,则同时可计算链路上每个事件平均贡献的总金额。

2023-07-31 22:18:02 297 1

原创 一文道尽数据中台方法论

一个企业体量不大时,对于业务需求我们可以直接由底向上直接开发,由原始表深度加工产出一张表对外提供服务,针对不同的业务需求我们都这样实现,这就形成烟囱式开发,随着企业体量变大,业务变多,这种烟囱式开发会导致我们的数据无法复用,做很多重复的开发,这时我们可以构建一套数据分析平台,这里涉及数据采集、数仓构建、数据分析、数据可视化展示等,由于我们构建了统一数仓平台,几乎解决烟囱式开发问题。最后,Range可以基于元数据中心提供的API接口,获取标签对应的表,然后根据标签更新表对应的权限,实现基于标签的权限控制。

2023-07-31 00:21:29 2796 1

原创 流批一体的一点思考

并且Unified DataStream针对Unbounded场景,在磁盘I/O访问,序列化和反序列化做了优化,使得Unbounded和Bounded的效率、可用性、易用性都得到很大提升。结果视图需要支持低延迟的查询分析,通常需将数据结果存储到列存分析系统,可使用doris/starrocks和Presto/Trino。因为它原生分成了两层,可以根据用户的使用场景和批流的不同访问模式,来提供两套不同的 API。首先在计算层,Pulsar Broker 不保存任何状态数据、不做任何数据存储,称之为服务层。

2023-07-29 00:40:11 124

原创 sparksql参数调优

所以就会出现,即使你设置了spark.sql.files.ignoreMissingFiles的情况下,仍然报FileNotFoundException的情况,异常栈如下, 可以看到这里面走到了HadoopRDD,而且后面是org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrappe可见是查询一张hive表。上面的两个参数在分区表情况下是针对分区路径存在的情况下,分区路径下面的文件不存在或者损坏的处理。

2023-07-29 00:37:41 1290

原创 大促场景系统稳定性保障实践经验分享

而选项的构成,便是我们的业务&系统预案。再给大家快速的介绍一些稳定性建设的一些思路,稳定性工作的本质无外乎是发现风险和消除风险的过程,风险来自于本身系统和产品遗留的潜在风险、长期使用导致的系统腐坏风险、新功能发布和系统升级引入的风险、大促之类的活动带来的风险等,我们的稳定性工作就是让这些风险可控。因此进行大促稳定性监控梳理时,可以先脱离现有监控,先从核心、资损链路开始,按照业务、应用(中间件、JVM、DB)、系统三个层次梳理需要哪些监控,再从根据这些索引找到对应的监控告警,如果不存在,则相应补上;

2023-07-29 00:36:44 448

原创 StarRocks 参数详解

StarRocks参数详解

2023-07-29 00:35:57 2615

原创 大数据集群迁移整理

(3)借助公司大数据团队提供的binlog解析采集工具,如基于开源的canal binlog parser模块二次开发的binlog接入工具,通过MySQL主从复制协议去业务db捕获增量变更数据(模拟MySQL slave,通过socket连接去拉取和解析数据,对于MySQL的性能损耗很小,按照MySQL官方的说法,损耗为1%),解析成json格式,写入kafka,最终由业务消费数据,按照自己需求写入hive,hbase,es等等异构数据源中;(1)修改业务代码,在写老库的地方,加上一句对新库的写操作;

2023-07-29 00:35:14 2565

原创 数仓规范

对于每一个报表和数据产品中涉及的指标,可以按照以下格式进行收集和整理:清晰指标名称、明确业务口径、确定数据来源等,对于口径相同的,应该去除重复,关联的应用应该合并。首先,要形成一个全局业务口径一致的指标字典,让使用指标的人,可以通过指标字典,快速了解指标的业务含义和计算过程,不会对指标口径产生歧义。ODS层,是最接近数据源中数据的一层,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。

2023-07-29 00:33:58 738

原创 数据库原理

查询优化器的核心任务是生成一个 “最佳的”(执行 Cost 最低)的分布式物理执行计划,查询的数据量越大,查询的 SQL 越复杂,查询优化器的意义越大,因为不同的物化执行计划,执行时间可能相差成千上万倍。每个 Fragment 可以有不同的并行度。开源数据库会越来越模块化,打造一个高性能的数据库原型会越来越简单,下图是一个利用 DPA 和 一些开源系统打造的数据库架构示意,可能只需要 1 个或者几个人月,就可以打造出这个原型,并且在 SSB,TPC-H,TPC-DS 等标准测试集上取得不错的性能。

2023-06-29 18:15:00 157

原创 生产环境的性能难题

低基数 Group By + 高基数去重。

2023-06-29 18:11:06 93

原创 StarRocks内部实时更新技术的实现方案

主键索引对内存要求比较高,比较适用两个场景,一个是数据按时间分区,数据按时间有冷热特征,比较老的数据基本上不会被更新,被更新的数据基本是最近几天的数据。很多索引要么是用 LSM 的方式做,要么用 B tree 的方式做,都是有序索引,StarRocks 中没有有序的需求,所以使用 hashmap 的方式。当获取CDC数据后,新的数据和原来的记录进行full join,检查新的数据中每条记录跟原数据中的记录是否有冲突(检查Key 值相同的记录)。对有冲突的文件,重新写一份新的、包含了更新后数据的。

2023-06-29 18:08:21 1493

原创 RAID学习资料

RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来,形成一个硬盘组(逻辑硬盘)。将逻辑硬盘挂载给操作系统,在系统中读取到的是单块硬盘(即逻辑硬盘)而非多块硬盘(独立的物理磁盘)。RAID技术通过增加硬盘的数量增加了平均故障间隔时间(MTBF),从而提供比单个硬盘更高的存储性能和提供数据备份技术。硬件 RAID 卡需要在安装系统之前就完成,大致的思路是进入 BIOS 或者主板提示的按键进入 RAID 的设置,按照 RAID 卡可用的等级来设置。为什么要安装系统之前?

2023-06-29 18:07:34 93

原创 如何打造一款极速分析型数据库

有人说,这不是一个显然易见的答案吗?而对于一款分析型数据库而言,性能至关重要,如何打造极致的性能,是分析型数据库永恒的主题,本文我就分享下如何打造一款基于 CPU 的极速分析型数据库。因为用户的硬件条件各式各样,用户建模方式,使用场景,查询模式无法确定,用户数据特点千差万别,所以一个数据库的优化可能在 A 场景下是正向的,但在 B 场景下却是负向的,所以数据库开发者的做法一般是会增加各种配置或者变量,让DBA 或者用户有一定的调优空间,同一条查询,在不同的配置下,性能可能会有几倍甚至几十倍的差距。

2023-06-29 18:06:59 156

原创 数据库之美 —— 查询自适应执行

在传统 TP 数据库,Scan 索引的选择是由优化器决定的,和 join reorder 结合后,会导致搜索空间的指数级膨胀,为了避免这个问题,在 StarRocks 中,我们在优化器中不考虑 Scan 索引的选择,而是将 Scan 索引的选择交给了存储层,在存储层 Scan 时,我们会对 Bitmap 索引,延迟物化等策略进行了自适应处理,假如一个 Bitmap 索引的选择度很低,我们就会使用 bitmap 索引,否则就不会使用 Bitmap 索引。当然,这种方式也只适合 Streaming 处理。

2023-06-29 18:06:42 88

原创 性能优化案例

不要让OS内核执行所有繁重的任务:将数据包处理、内存管理、处理器调度等任务从内核转移到应用程序高效地完成,让诸如Linux这样的OS只处理控制层,数据层完全交给应用程序来处理。WeOLAP 亚秒级实时数仓 —— BitBooster 10倍查询优化实践。Java GC 导致应用只能扛住高并发却扛不住低并发。RoaringBitmap 性能优化。Java GC 导致低并发下性能更差。

2023-06-29 16:37:27 56

原创 性能优化工具

SystemTap 是动态追踪工具,它通过探针机制,来采集内核或者应用程序的运行信息,从而可以不用修改内核和应用程序的代码,就获得丰富的信息,帮你分析、定位想要排查的问题。由于 systemtap 工具依赖于完整的调试符号表,而且生产环境不同机器的内核版本不同(虽然都是Tlinux 2.2版本,但是内核版本后面的小版本不一样,可以通过 uname -a 命令查看)所以我们还需要安装 kernel-debuginfo 包、 kernel-devel 包 我这里是安装了这两个依赖包。之后对该内核模块作签名;

2023-06-29 16:30:27 360

原创 常见优化思路

然而这并不是虚函数速度慢的主要原因,真正原因是编译器在编译时通常并不知道它将要调用哪个函数,所以它不能被内联优化和其它很多优化,因此就会增加很多无意义的指令(准备寄存器、调用函数、保存状态等),而且如果虚函数有很多实现方法,那分支预测的成功率也会降低很多,分支预测错误也会导致程序性能下降。Null 和 Nullable 是数据库中比较容易出错的点, Null 相关的很多逻辑都需要特殊处理,比如 Join, 聚合等算子,一些函数,谓词,四则运算 和 逻辑运算等。

2023-06-29 16:21:40 595

原创 大数据集群安装规划

大数据平台对硬件的规划原则: 如果能够确切地知道存储和计算的资源需要,那么就按照这个需求来配置即可;但如果无法准确地评估出存储和计算资源需求量,那么一定要。,比如留下足够的机柜位置、网络接口、磁盘接口等。在实际应用中,存储容量一般很好预估,但计算资源很难预估,因此留下足够的扩展接口,是必须要考虑的一个问题。

2023-06-29 16:06:42 166

空空如也

空空如也

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

TA关注的人

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