- 博客(113)
- 收藏
- 关注
原创 Doris简介
Apache Doris由百度大数据部研发(之前叫百度 Palo,2018年贡献到 Apache 社区后,更名为 Doris ),在百度内部,有超过200个产品线在使用,部署机器超过1000台,单一业务最大可达到上百TB。Apache Doris是一个现代化的MPP (Massively Parallel Processing,即大规模并行处理)分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。
2026-09-03 17:00:43
231
原创 码蹄集MC0406最小公倍数
普通的求最小公倍数我们可以直接用lcm(a,b) =a*b/gcd(a,b),但是题目要求取模,这个公式不满足一边求一边取模,所有我们需要用分解质因数的方法。不计顺序的情况下,分解形式唯一。
2026-07-27 18:06:07
206
原创 Hive sql 进阶题 04
从登录明细表(user_login_detail)中查询每个用户两个登录日期(以login_ts为准)之间的最大的空档期。从订单信息表(order_info)和用户信息表(user_info)中,分别统计每天男性和女性用户的订单总金额,如果当天男性或者女性没有购物,则统计结果为0。从登录明细表(user_login_detail)中查询在相同时刻,多地登陆(ip_address不同)的用户。从订单明细表(order_detail)中统计每天商品1和商品2销量(件数)的差值(商品1销量-商品2销量)
2026-07-23 17:08:40
211
原创 Hive sql 进阶题 03
从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。从商品价格修改明细表(sku_price_modify_detail)中查询2021-10-01的全部商品的价格,假设所有商品初始价格默认都是99。
2026-07-22 16:33:56
215
原创 湖仓一体(Data Lakehouse)简介
湖仓一体是融合数据湖 + 数据仓库优势的新一代统一大数据架构,底层共用一套低成本对象存储,上层同时具备湖的灵活存储、仓的高性能治理与 SQL 分析能力,一套数据同时支撑实时计算、离线报表、BI 可视化、AI 建模,消除传统 “湖仓分离双架构” 的数据孤岛、重复存储、口径不一致痛点。
2026-07-20 16:59:12
358
原创 大数据DolphinScheduler简介
伪集群模式(Pseudo-Cluster)是在单台机器部署 DolphinScheduler 各项服务,该模式下master、worker、api server、logger server等服务都只在同一台机器上。DolphinScheduler支持多种部署模式,包括单机模式(Standalone)、伪集群模式(Pseudo-Cluster)、集群模式(Cluster)等。也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。,系统的前端页面,提供系统的各种可视化操作界面。
2026-06-27 18:48:53
276
原创 数据仓库建模
数据仓库建模的意义如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置;如果把数据看作城市的建筑,我们希望城市规划布局合理;如果把数据看作电脑文件和文件夹,我们希望按照自己的习惯有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找一个文件而不知所措。数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后,数据才能得到高性能、低成本、高效率、高质量的使用。高性能:良好的数据模型能够帮助我们快速查询所需要的数据。
2026-06-22 15:28:16
717
原创 列式存储和行式存储;hive中stack和named_struct
优点适合点查、全字段查询单行 CRUD 性能好,事务支持完善数据写入简单,延迟低缺点分析类查询只取几列时 IO 巨大压缩率低,存储成本高大规模聚合计算性能差适用:在线业务数据库 OLTP(MySQL 等)作用:把同一行的多个字段打包成一个带字段名的结构化对象,不产生多行,仅列重组。
2026-06-21 14:47:57
393
原创 HBase 优化
据是不能垃圾回收的,主要回收的就是读缓存,而读缓存垃圾回收不影响性能,所以最终设。)如果只有一个列族用于写入数据,分配内存资源的时候可以做出调整,即写缓存。调优的思路有两部分:一是内存设置,二是垃圾回收器设置。设计时间在最前面,会导致有大量的旧数据存储在不活跃的。处于哪个一个预分区的区间内,设计 rowkey。的主要目的 ,就是让数据均匀的分布于所有的。垃圾回收的修改是使用并发垃圾回收,默认。,那么这条数据存储于哪个分区,取决于。中,使用的时候,仅仅会操作少数的活动。是并行垃圾回收,会有大量的暂停。
2026-06-16 20:45:42
363
原创 Hive任务并行度优化
这种情况下,可以使用Hive提供的CombineHiveInputFormat,多个小文件合并为一个切片,从而控制map task个数。若想加快计算速度,在计算资源充足的情况下,可考虑增大map端的并行度,令map task多一些,每个map task计算的数据少一些。根据上述描述,可以看出,Hive自行估算Reduce并行度时,是以整个MR Job输入的文件大小作为依据的。Reduce端的并行度,可由用户自己指定,也可由Hive自行根据该MR Job输入的文件大小进行估算。是由输入文件的切片数决定的。
2026-06-07 16:40:24
214
原创 Prim堆优化
Prim 算法是求解最小生成树的经典算法之一。它和 Kruskal 一样,都是基于贪心思想的最小生成树算法。Kruskal 是从边的角度出发,每次选择当前最小且不成环的边Prim 是从点的角度出发,每次选择距离当前生成树最近的点堆优化 Prim 通常使用优先队列维护当前距离生成树最近的点,写法和 Dijkstra 很像,时间复杂度为 O(mlogn)。
2026-06-05 20:37:16
393
1
原创 蓝桥杯21241灯塔java
题目提到可以挑选一个“子序列”,这实际上是一个提示:只要我们选出的灯塔编号集合满足“互不相邻”的条件,我们总能找到一种操作顺序(例如按照编号从小到大,或者隔开操作),使得这些灯塔全部被成功点亮。因此,我们的收益是“1 到i−2 的最大值”加上当前这 1 个。为了优化空间,观察到计算 dp[i]dp[i] 只需要 dp[i−1]dp[i−1] 和 dp[i−2]dp[i−2] 两个状态,我们可以使用。定义 dp[i]表示:在只考虑编号为 1 到 i 的灯塔的情况下,最多能点亮的灯塔数量。
2026-06-05 18:16:22
431
原创 Hive中Join导致的数据倾斜优化
Map端负责读取join操作所需表的数据,并按照关联字段进行分区,通过Shuffle,将其发送到Reduce端,相同key的数据在Reduce端完成最终的Join操作。这种方案对参与join的源表大小没有要求,但是对两表中倾斜的key的数据量有要求,要求一张表中的倾斜key的数据量比较小(方便走mapjoin)。若参与join的两表均为大表,其中一张表的数据是倾斜的,此时也可通过以下方式对SQL语句进行相应的调整。假设原始SQL语句如下:A,B两表均为大表,表A的数据是倾斜的。
2026-06-04 17:46:28
335
原创 Hive中分组聚合导致的数据倾斜优化
数据倾斜问题,通常是指参与计算的数据分布不均,即某个key或者某些key的数据量远超其他key,导致在shuffle阶段,大量相同key的数据被发往同一个Reduce,进而导致该Reduce所需的时间远超其他Reduce,成为整个任务的瓶颈。而且方案一的效率也是高于方案二的,那为什么还会有方法二呢,原因就是方案一需要在map端维护一个hashtable,hashtable是比较消耗内存的,如果内存资源不够就会频繁flush(达到map端的阈值就会触发flush),可能就不会解决数据倾斜的状况。
2026-06-04 16:53:49
303
原创 贪心算法
是一类算法,它在求解最优化问题的过程中,并且。使用贪心算法需要证明等于。贪心可以说是算法的基础,几乎所有算法都蕴含了贪心的思想。同时,贪心更多是一种思想而不是具体的算法,且常常与别的算法配合使用,但也有如反悔贪心这种易单独出现的较为固定的套路,实际训练中更多以多刷题总结经验为主,这里重点讲解一下反悔贪心。
2026-06-02 15:52:37
368
原创 蓝桥杯21247弹跳鞋java
首先大家不要被题目迷惑,不可能有-1的情况,原因:两个相邻的整数可以组成1和-1,所有无论L是多少,都可以用多个相邻的整数对想加得出。最终位移为 S−2k(k 为负向子集和),故位移必与 S同奇偶,且绝对值 ≤S。从该 x 开始依次增大,计算 S=x(x+1)/2。二分查找最小 x 使 x(x+1)2≥L。检查 Smod2==Lmod2是否成立。第一个满足的 x 即为最小能量。总距离和 S=x(x+1)/2。S≡L(mod2) :同余。
2026-05-29 18:25:25
453
原创 码蹄集 MC0457符咒封印java
例如l=x,r=y,我们可以先求multiply[y]-multiply[x-1]=ax*x+ax+1*(x+1)+...+ay*y,这已经很接近结果了,只是每个数都多算几次,而且多算的次数是相同的都是(l-1)次,我们再让刚刚求出来的数减去(l-1)*(sum[y]-sum[x-1])就能求出来了。
2026-05-23 17:27:57
341
原创 码蹄集 MC0520惊马示警擒义士java
直接枚举子集无法实现,因此采用倍数筛统计每个约数的倍数元素个数,利用 2 的幂快速计算对应非空子集总数,再从大到小倒序遍历,通过容斥原理剔除最大公约数更大的子集,最终得到恰好以 1 为最大公约数的子集数量,即为所求答案。第二层for:把 “公约数包含 d 但 GCD 比 d 大” 的子集全部减掉,剩下的就是 “恰好 GCD = d” 的子集。而要算这个,必须先知道:有多少个数是 2 的倍数、有多少个数是 3 的倍数、有多少个数是 4 的倍数……:我们要求的结果 —— 数组中是 d 的倍数的数总个数。
2026-05-22 09:47:04
181
原创 码蹄集MC0519伏击桥下探情况
这道题就是让我们交换某两行,但是没必要一一进行交换,直接改变输出的行的顺序就行,比如交换第一行和第二行,我们不用交换每个数字,只需要先输出第二行再输出第一行就行。
2026-05-20 22:05:32
151
原创 Java基础:Java语言基础
标识符用来为变量、方法、类命名,必须以字母、下划线、$开头,后面可以是字母、下划线、$、数字,且区分大小写,例如AA和aa是两个不同的标识符,但是不能将关键字定义为标识符。1. 自动转换(从小到大,自动转)byte < short < int < long < float < double。引用数据类型 类、数组、接口、String。例如:if(a>b&&a<c){}基本数据类型(8 种) 四类八种。如果有很多判断条件建议用()
2026-05-17 14:42:02
262
原创 大数据:Spark(概述)
首先我们回顾一下:Hadoop主要解决,海量数据的存储和海量数据的分析计算。Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Hadoop的Yarn框架比Spark框架诞生的晚,所以Spark自己也设计了一套资源调度框架。Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。
2026-05-16 15:32:41
251
原创 Java基础:list、set、map一遍过
Java的集合(list、set、map)非常重要,竞赛和开发经常会用到,同时也是教学和考试的重点,接下来我将介绍这三个集合的知识。
2026-05-14 21:26:23
455
原创 2026天梯赛模拟赛 L2-3 自然倍树java
在构建二叉树的过程中判断每个节点,若不符合条件直接破坏树的结构,最后判断树的结点数,如果是n说明没有被破坏符合条件。
2026-04-17 15:33:16
211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅