自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络OSI

但是一开始客户端是不知道网关的Mac地址的无法封装成帧,就需要ARP广播 ,就知道地址了,到网关最后转发封装成帧,最终到目标网服务器。两个QQ发信息,如何进行交互就是应用层的事,不是说需要什么应用程序,而是应用如何沟通,常见的是HTTP协议,开发者就可以根据HTTP协议编写应用程序,只不过是逻辑上把两个应用联通,实际上的数据的传输是需要物理层的。利用端口号来定位,只要记得源端口号和目的端口号就可以了,所以传输层在网络层端到端的基础上,实现了服务进程到服务进程的传输 (这里数据叫段)

2025-08-09 20:02:06 407

原创 Flink学习笔记4-sink算子

还没有发现他写文件,并且也没有报错,后来我又用了log4j依赖打印日志报错,但是我发现运行后它并没有报错,后来发现呢,是因为我自定义的source function,它产生的数据比较慢,而且量比较少,它没有达到一定的缓存数量,它是不会往文件中写数据的,我自定义的那个south function,它是每隔一秒写一个数据,每隔一秒写一个数据,数据量少一数据量不多,所以不是代码的问题而是数据量的问题,那么到底是多少缓冲呢,我看了源码。此分桶并不是hive的分桶,这里的分桶就是把不同时间的数据,写入不同的文件夹。

2025-01-01 00:36:36 677

原创 Flink学习笔记3

如果使用maxBy的话,可以看到按照行呗分组进行求最大朋友数-->得到第一条数据的userid,name,朋友数量,等到第二条来的时候,若大于当前的好友数量的话,更新所有的字段,若来的一条数据朋友数量和现在的朋友数量相等,那么保持不变。如果使用reduce的话,可以看到按照行呗分组进行求最大朋友数-->得到第一条数据的userid,name,朋友数量,等到第二条来的时候,若大于等于当前的好友数量的话,更新所有的字段。可以看到,sum,max,min只是在逻辑上的更上一步的封装的(使用起来比较简单),

2024-12-09 17:11:17 500

原创 Flink学习笔记2

FIleInputFormat是Hadoop的,他还有TextInputFormat解析文本文件,SequenceFileInputFormat解析Sequence文件的(Hadoop中设计的文件格式,MR的map产生的shuffle落地文件都是Sequence文件的格式)还有PaquetInputFormat,解析Parquet文件。新版本中,flink会把Kafka消费者的消费记录记录在算子的状态里面。基本Source算子,source是用来获取外部数据的算子,按照获取数据的方式,可以分为。

2024-11-30 21:09:41 449

原创 Flink学习笔记

我们公司APP有很多用户,有些人是羊毛党,经常趁我们搞活动,优惠券,代金券的时候,他们就过来薅羊毛(有的人是不正常的,我们写一个系统监控这些人的行为,一旦某些人的行为满足了我定义的风险模型,一旦我发现你在同一个ip上面,间隔很短的时间下,连续不断的点个按钮,我就赶快把你的IP禁掉,你就成我黑名单里的人)来一条数据我攒在我的Flink的肚子里,等到你想要计算,我就给你算(不好,爆内存)我不可能把所有的数据都给你存起来,我可以来一个数据我给你做个累加,来一个做一个累加。)你算的时候,结果立刻给我。

2024-11-10 20:39:39 851

原创 spark的shuffle的机制

如果是false,2看你的下游分区数小于等于200吗。(基本shuffle方式,用的最多的,就是把你的对象存到一个类似hashMap里面,做局部聚合,叠加聚合(来一个,又来个,直接),还会排序,在Map里面不好排序,还会把数据堆出来,堆到一个类似数组的结构里面,按照key排序,满了我溢出)缓冲区的缓存不够用了,是否要溢出,尝试不断的申请内存空间的,尽量不溢出,只有申请不到更多的内存,且已填充数据超过阈值比例,才spill. 他和MR的不同,MR是定死的。

2024-11-04 19:01:02 572

原创 checkpoint的RDD持久化

这个checkpoint和你的cache()算子很像,如果你没有在后面触发你的行动算子,是不会做的,但是与cache()不同的是,他会额外的触发一个job来计算的,类似于saveAsTextFile。checkpoint存储的是原汁原味的RDD,你的saveAsTextFile是存储文本数据,你读的话还有按逗号分隔,做一行一行的文本处理。你checkpoint的话,你的算的过程中崩溃了,自己重试直接去checkpoint了,相当于断掉了之前的血缘了,不需要重新算了。

2024-11-04 15:42:44 211

原创 spark广播变量

spark也可以这样用,但是spark的话,我可以利用广播变量直接发一个对象过去,我就不用解析这个的文件了,那么我为什么不直接用我的广播变量呢?广播对象使用了BitTorrent协议,减少了通信的成本(成体数据分成好几个块,只要有一个Executor,那么别的机器就可以要这个了,不需要找driver去要了)广播变量主要应用于map端join的集合,就是把一小份数据直接让每个Executor持有一份拷贝,在task计算逻辑中,不用通过2个RDD去join了。将driver端创建的普通集合对象,广播出去。

2024-11-04 15:10:26 222

原创 YARN面试题-八股

除了这两个的部分之外,还包括NodeManager和Container,其中NodeManager是单个节点的资源和任务管理器,Container是Yarn的资源抽象,封装了各种资源,比如内存和CPU磁盘。3公平调度器,支持多个队列,保证每个任务公平享有队列资源 做法:当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源,当有第二个小任务提交Fair调度器会分配一半的资源给这个小任务,让这两个任务公平的共享集群资源。2容量调度器,支持多个队列,每个队列采用先进先出策略。

2024-10-31 21:03:29 221

空空如也

空空如也

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

TA关注的人

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