自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql经典题

100 * SUM(CASE WHEN cid = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN cid = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数。SELECT MAX(t.tid) "教师ID",MAX(t.tName) "教师姓名",c.cid "课程ID", MAX(c.cname) "课程名称" ,AVG(sc.score) "平均成绩"

2024-07-13 11:04:10 188

原创 数仓之dim

雪花模型是对星型模型的扩展,它将星型模型的维表进一步层次化,原来的各个维表可能被扩展为小的事实表,形成一些局部的层次区域。系统地对维度进行快照(为每个ETL计划周期存储维度的完整副本,通常在不同的表分区中),作为处理缓慢变化的维度(SCD)的通用方法,是一种简单的通用方法,不需要太多的工程工作,并且与经典方法相比,在编写ETL和查询时很容易掌握。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。

2024-07-13 10:56:56 95

原创 dwd层的宽表设计

数据建模之dwd层宽表设计

2024-07-13 10:54:34 279

原创 Flink滚动滑动窗口的区别

在一些场景中,可能需要统计最近一段时间内的指标,而结果的输出频率要求又很高,甚至要求实时更新,比如股票价格的 24 小时涨跌幅统计,或者基于一段时间内行为检测的异常报警。例如,我们定义一个长度为 1 小时、滑动步长为 5 分钟的滑动窗口,那么就会统计 1 小时内的数据,每 5 分钟统计一次。我们可以看到,当滑动步长小于窗口大小时,滑动窗口就会出现重叠,这时数据也可能会被同时分配到多个窗口中。表了窗口计算的频率。滑动的距离代表了下个窗口开始的时间间隔,而窗口大小是固定的,所以也就是两个窗口结束时间的间隔;

2024-07-13 10:48:30 272

原创 数仓维度建模

在设计DWS表的时候,很多人会把所有可以聚合的维度进行cube,这样就得到了很多个派生指标,而这些派生指标放在同一张表中无疑会增加这张表的使用难度,比如在实际的取数时,往往只关心某个统计粒度的指标。所以,评价模型的好坏与否,更多的是从使用者的角度出发,比如简单、易于取数、表的数量恰好。对于复杂的业务场景而言,会出现很多跨域、跨事实的交叉探查,如果没有沉淀出DWS层的指标进行统一口径的收口,那么相同的指标会出现不同的口径和命名,其后果就是取数变得越来越不方便,而且容易造成业务怀疑数据是否正确的尴尬局面。

2024-07-12 17:09:10 592

原创 yarn工作机制

yarn

2024-07-11 17:10:51 400

原创 zookeeper

控制时序,就是所有视图来获取这个锁的客户端,最终都是会被安排执行,只是有个全局时序了。在分布式环境中,相同的业务应用分布在不同的机器上,有些业务逻辑(例如一些耗时的计算,网络I/O处理),往往只需要让整个集群中的某一台机器进行执行,其余机器可以共享这个结果,这样可以大大减少重复劳动,提高性能,于是这个master选举便是这种场景下的碰到的主要问题。管理人员在控制台作的一些操作,实际上是修改了ZK上某些节点的状态,而ZK就把这些变化通知给他们注册Watcher的客户端,即推送系统,于是,作出相应的推送任务。

2024-07-11 17:06:50 323

原创 全量跟增量的区别

为保证统计结果的正确性,需要保证数据仓库中的数据与业务数据库是同步的,离线数仓的计算周期通常为天,所以数据同步周期也通常为天,即每天同步一次即可。业务数据是数据仓库的重要数据来源,我们需要每日定时从业务数据库中抽取数据,传输到数据仓库中,之后再对数据进行分析统计。例如某张表数据量较大,但是每天数据的变化比例很低,若对其采用每日全量同步,则会重复同步和存储大量相同的数据。全量同步,就是每天都将业务数据库中的全部数据同步一份到数据仓库,这是保证两侧数据同步的最简单的方式。数据的同步策略有全量同步和增量同步。

2024-07-04 11:58:12 135

原创 mysql连接idea

5、发现没有数据库,点击**1 of 7**,选择**All schemas**// SQL语句,使用我自己的test数据库下的 boss 表。右击加入的Jar包,选择**Add as Library(添加到库)**3、输入用户名和密码,点击**Test Connection**5、发现没有数据库,点击1 of 7,选择All schemas。2、点击加号,找到MySQL,添加数据库。2、点击加号,找到MySQL,添加数据库。4、显示连接成功,点击Apply,OK。4、显示连接成功,点击Apply,OK。

2024-07-02 20:57:17 380 1

原创 HDFS读写流程详细过程

在刷写之前,如果NameNode节点宕机了,那么内存中的Edit文件也会丢失,此时可能会造成数据的损失。NameNode的每次启动都会将Fsimage文件读入内存,加载Edits文件里边的更新操作,保证内存中的数据是最新的,同步的,可以看成NameNode启动的时候就将Fsimage和Edits文件合并了。思考:Fsimage为磁盘文件,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。

2024-07-02 20:49:54 461

原创 mapreduce

MapTask在收到请求之后,根据参数(分区号)来解析file.out.index文件,从中获取指定分区的位置,然后才会读取file.out,将对应分区的数据返回。merge的时候,默认情况下,是每10个(可以通过属性mapreduce.task.io.sort.factor来调节)小文件合并成1个大文件,通过多次合并,最后会产生一个结果文件file.out。需要注意的是,数据在排序的时候,是按照分区内进行的排序,即先按照分区大小进行分区号的升序,然后每一个分区内按照指定规则排序。因此,数据是分区内有序。

2024-07-02 20:43:48 427

空空如也

空空如也

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

TA关注的人

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