- 博客(111)
- 资源 (1)
- 问答 (21)
- 收藏
- 关注
原创 Spark Streaming专题
自定义数据源,实现监控指定的端口号,获取该端口号的内容需要编写两个类,一个是自定义的Spark Streaming 接收器类,实现开始,停止,接收方法另一个是主类,完成调用接收器类//最初启动的时候,调用该方法//作用:读数据并将数据发送给Spark//创建一个新线程,线程名为 "Socket Receiver"。//在线程中调用 receive() 方法,开始接收数据。receive()}.start()//在接收器停止时调用。//当前实现为空,表示在停止时不执行任何特定操作。
2025-01-09 14:42:37 937 2
原创 SparkSQL专题
特性一进:输入:UDF 接受一个或多个输入参数。这些参数通常是 DataFrame 中的列。含义:在“一进”的情况下,UDF 接收一个输入参数,例如一个列的值。这个输入参数可以是任何类型,具体取决于 UDF 的定义和用途。一出:输出:UDF 返回一个输出值。这个输出值通常是基于输入参数计算得到的。含义:在“一出”的情况下,UDF 输出一个单一的结果,这个结果可以是任何类型,如整数、浮点数、字符串、数组等,具体取决于 UDF 的实现和预期用途。
2025-01-08 20:16:29 1317
原创 spark——DAG专题
Spark的核心是根据RDD来实现的,Spark Schedule则为Spark核心实现的重要一环,其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据,根据RDD的依赖关系构建DAG,基于DAG划分Stage,将每个Stage中的任务发到指定节点运行。基于Spark的任务调度原理,可以合理规划资源利用,做到尽可能用最少的资源高效地完成任务计算。DAG(Directed Acyclic Graph)有向无环图是由点和线组成的拓扑图形,该图形具有方向,不会闭环。
2025-01-07 14:48:05 856
原创 spark——RDD算子集合
仅适用于Key-Value类型的RDD,自动按照key进行分组,然后根据提供的函数func的逻辑进行聚合操作,完成组内所有value的聚合操作。比如第一个分区上1个元素,第二个2个,第三个3个,现在执行take(5)它需要先从第一个分区上读取,然后第二个,第三个,影响效率。将两个同类型RDD进行合并,合并后的顺序为调用union算子的rdd在前,作为参数的rdd在后,rdd内部顺序不变。RDD的分区是只存储位置的不同,因此对于结果的顺序是没影响的,但是不同分区的元素数量会影响take的性能。
2025-01-07 10:19:50 1173
原创 Kafka消息队列
术语描述事件记录世界或业务中“发生了某事”的事实,具有键、值、时间戳和可选元数据事件键事件的唯一标识符(如“白富美”)事件的值事件的具体内容(如“向土豪支付了520元”)事件时间戳事件发生的时间(如“yyyy年05月20日13:14”)生产者向Kafka发布(写入)事件的客户端应用程序消费者订阅(读取和处理)Kafka中事件的客户端应用程序主题事件被组织并持久存储的地方,支持多生产者和多订阅者,一般只用于发布订阅模式- 主题特性事件消费后不被删除,可根据配置保留一段时间。
2025-01-05 14:36:34 1287
原创 Kafka 消费者专题
pull模式不足之处是,如果kafka没有数据,消费者可能会陷入循环中,一直返回空数据。针对这一点,Kafka的消费者在消费数据时会传入一个时长参数timeout,如果当前没有数据可供消费,consumer会等待一段时间之后再返回,这段时长即为timeout。不同点是,同步提交阻塞当前线程,一直到提交成功,并且会自动失败重试(由不可控因素导致,也会出现提交失败);commitSync同步提交:必须等待offset提交完毕,再去消费下一批数据。相同点是,都会将本次消费的一批数据的最高的偏移量提交;
2025-01-05 14:36:03 873
原创 kafka Broker专题
它会在ZooKeeper中更新Broker的状态信息,通知其他Broker停止向故障的Broker发送请求,并从ISR中选择新的Leader继续处理消息。响应Consumer请求: 当Consumer向Broker发送消息获取请求时,Broker会根据Consumer提供的主题、分区和偏移量信息,从相应的Segment中读取消息数据,并返回给Consumer。例如,它会监听/brokers/ids路径下其他Broker的状态变化,以便在集群中其他Broker发生故障时,能够及时调整自己的状态。
2025-01-05 13:10:04 1056
原创 kafka生产者专题(原理+拦截器+序列化+分区+数据可靠+数据去重+事务)
同步发送是指生产者在发送一条消息后,会立即等待Kafka服务器的响应。只有在服务器返回成功响应后,生产者才会继续发送下一条消息。生产者调用send()方法发送消息。send()方法返回一个Future对象。生产者调用Future对象的get()方法,该方法会阻塞当前线程,直到Kafka服务器返回响应或抛出异常。生产者收到响应后,根据结果(成功或失败)进行后续操作。异步发送是指生产者在发送一条消息后,不会立即等待Kafka服务器的响应,而是继续发送下一条消息。
2025-01-04 17:23:09 1585
原创 服务器宕机解决方案(内存爆红)
在安装完宝塔后会提供一个面板地址,此时重新打开这个面板地址即可(ip+端口+一串编码,这个编码我没查过,但在登录保存后,会省略这个编码,因此重新输入,打开这个网址,填写)重启后部分服务均已关闭,因此xshell手动连接,在数据库中删除这条记录(这条记录在,脚本就会自动运行)这个是保存的地址,后面会带一串编码,重新打开后,填写账号密码进行登录。自行重启即可,打开所有网站需要的服务,比如redis、mysql,给网站跑了一个脚本,导致内存爆了,网站不再响应,宝塔面板也无响应。
2024-12-30 13:03:51 285
原创 Redis整合汇总
Redis慢查询是指在使用Redis数据库时,执行的某些操作或查询需要较长时间来完成的情况。当某个查询语句的执行时间低于某个预设的阈值时,Redis会将其视为慢查询,并触发相应的机制来记录相关的日志。事务从输入Multi命令开始,输入的命令都会依次压入命令缓冲队列中,并不会执行,直到输入Exec后,Redis会将之前的命令缓冲队列中的命令依次执行。一组命令的集合,一个事务中所有的命令会被统一序列化,按照一次性、顺序性、排他性的执行一些列的命令。待执行的命令/请求,整合成一个,发出。redis流水线是将。
2024-12-19 16:15:45 885
原创 Scala快速入门+示例
基于JVM的语言,支持面向对象、面向函数,支持JVM和JavaScript官网Spark基于scala进行开发,Flink也提供了关于scala相应的API冒号后面定义的是String表示返回一个String类型的值,如何返回则是在整个函数体的末尾以下示例代码结果是”wunaiieq“而不是"hello world"/**@param arg 定义的参数,String类型* @return 冒号后面定义的是String表示返回一个String类型的值,如何返回则是在整个函数体的末尾* */
2024-12-19 16:15:07 1124 1
原创 引入redis缓存+本地缓存示例(Guava实现)
先调用本地缓存进行查找,没有查看redis缓存,没有查数据库,同时添加到redis和本地缓存中。
2024-12-18 10:28:33 669
原创 Redis API(springboot整合,已封装)
在进行redis使用时,需要对其进行序列化。对常用的CRUD方法按数据类型进行了封装。
2024-12-17 16:09:29 1142 1
原创 Redis基本语法集合(示例+语法格式)
key——Hash表(field1–value1,field2–value2,field3–value3…String集合,不允许重复,但可以排序,每条数据都关联一个分数,依据分数高低排序,其中分数可重复。适合用于需要估算大量集合中唯一元素数量的场景,例如统计网站的独立访客数量。适合用于需要高效存储和查询大量布尔值(如打卡记录、活跃状态等)的场景。操作地理空间数据,允许存储、查询和计算地理位置的相关信息。,但它在处理大量数据时非常高效且占用较少的内存空间。对字符串进行位的操作,合理使用可以提高效率。
2024-12-17 14:20:21 535
原创 Maven 打包(system jar 和微服务父子项目)
在文末的build标签下写入< includeSystemScope >true</ includeSystemScope>即可。
2024-12-17 09:26:45 417
原创 JWT入门小结+案例集合
客户端向服务器发送http请求后,其中携带部分常用内容,如登录状态等其他非关键但常用信息。:供了创建和解析JWT的静态方法,用于生成JWT令牌和解析JWT令牌的核心类。客户端向服务器发出请求后,服务器进行认证,通过后,生成并存储如下内容。客户端登录后,服务器进行认证,生成JWT返回给客户端。手动生成Clamis,编写相关信息,并写入到JWT中。jwt原理如上,但在使用时,将其当作一个工具包即可。解析JWT,获取Clamis对象,以及其他相关信息。jwt解析,获取jwt内部的相关信息。
2024-12-14 09:13:25 675 3
原创 Spring Security授权案例集合
创建GrantedAuthority列表存储所有的用户权限,存入的是SimpleGrantedAuthority的实例,SimpleGrantedAuthority每个实例在创建时,需要写入权限信息(String类型),写入方式一般为自己创建的权限实体类。:授权是指认证通过后,系统赋予用户一定的权限,而用户能根据此权限,访问系统中的某些资源。如果只有用户和权限两表,操作量会非常大,因此增加角色表和两个中间表,保证低范式。资源过多时,用此方法,在访问资源时,判断用户是否具有访问此url的权限。
2024-12-12 20:20:38 790
原创 Hive操作案例
值得说明的是,csv文件首行(列名描述)应当删去,不然导入数据时会出现首行因数据类型不一致而出现空的情况。连接完成后敲代码,遇到这样的错误表明:当前用户操作的hdfs目录(hdfs中的hive目录)权限不够。启动Hive的metastore(存储和管理元数据的服务)和hiveserver2(远程连接服务)在虚拟机上修改hadoop中的warehouse目录下的权限,这也是hive的目录。在zookeeper的节点上启动如下指令(我的是1个主节点和2个备用节点)我这里是匿名用户,没有写的权限,因此需要修改。
2024-12-12 16:19:10 782
原创 Spring Security认证案例集合
描述:重写UserDetailsService接口内部的方法即可注意:一个项目中只能有一个认证逻辑示例逻辑认证中,我们一般需要从数据库中获取相应的数据内容,会调用mapper层中的方法,所以这个功能多处于service层中以下为service层的方法演示完整代码@Service@Autowired//自定义认证逻辑@Override//1.查询条件//2.查询用户(这里的Users是自定义的实体类 )//3.封装为UserDetails对象.build();
2024-12-12 16:03:53 1545 3
原创 Spring Security前置内容+关键内部类
作为security的测试包中的辅助类,不建议接入生产,生产环境中的用户类还是需要自行定义,定义方法如上(实现UserDetails)即认证通过后,根据用户的权限来控制用户访问资源的过程,拥有资源的访问权限则正常访问,没有权限则拒绝访问。在项目中使用Security框架,需要创建security的配置类(这个配置类就是后面的这些内容,认证和授权都在配置类中完成定义):实现UserDetails接口以提供security中的用户基本信息,如账号密码、权限等级等。:UserDetails的实现类。
2024-12-12 10:23:04 697
原创 Mybatis Plus 常规用法及其示例
根据条件构造器查询记录,并将结果以键值对(Map)的形式返回。:entity 是包含更新数据的实体对象,updateWrapper 是条件构造器,用于构造更新条件。:返回的是传入的分页对象P,但此时该对象已经包含了查询结果(以Map形式)和分页信息。:根据条件构造器查询记录,但只返回每行的某个列(通常是查询的第一个列)的值列表。:columnMap 是一个包含列名和对应值的 Map,用于构造查询条件。:queryWrapper 是一个条件构造器,用于构造复杂的删除条件。
2024-12-11 15:08:16 1795 5
原创 ES——分词器
描述:多种分词器组合,可以自己写,也可以使用上述的ik,拼音分词器等等示例"tokenizer":"ik_max_word", //使用IK分词器中的ik_max_word模式来对文本进行分词"filter":"pinyin_filter"//指定了一个过滤器 pinyin_filter,用于对 ik_max_word 分词后的结果进行进一步处理。},"keep_separate_first_letter" : false,//是否将拼音的首字母单独保留。
2024-12-10 16:14:00 560
原创 ES基本操作(kibana查看)
Elasticsearch是使用RESTful风格的http请求访问操作的,请求参数和返回值都是Json格式的,我们可以使用kibana、postman发送http请求操作ES。
2024-12-10 10:53:13 1732 2
原创 YOLO源码解读:Yolov5的改进方案——大中小三目标的应对
在配置文件中就已经给出,传入图片大小为640*640,因此预先定义的锚框大小就可以用于判断目标大小,同理应对与那些待检测图片。根据标签大小,换算成比例,带入,选择即可。根据大小就可以判断很多内容,比如注意力机制中,在全局后面加入CBAM还是backbone的每个C3模块加入,一个适用于小目标,一个用于整合全文信息。
2024-12-09 15:48:51 257
原创 YOLO源码解读:Yolov5的改进方案——非极大值抑制
YOLOv5 中采用的是非极大值抑制(Non-maximum suppression, NMS),通过候选框的分数大小将所有候选框进行从大到小的排序,选择最大分数的检测框 M 后,将其他大于所设置 IoU(交并比)的候选框的分数进行置零,只保留一个检测框。3)从list_k 中 top1 cls score开始,计算该 bbox_x 与 list 中其他 bbox_y 的 IoU,若IoU大于阈值T,则剔除该bbox_y,最终保留bbox_x,从list_k中取出;LNMS是在EAST文本检测中提出的。
2024-12-09 15:48:22 295
原创 YOLO源码解读:Yolov5的改进方案——轻量化模块
Ghost模块是一个用于替代标准卷积模块的轻量级模块。它通过引入一个额外的线性变换层来增强特征图的表示能力,而不会增加模型的参数量或计算复杂度。Ghost模块可以插入到任何标准的卷积模块中,从而在不增加模型复杂度的情况下提高性能。官网建议:替换yaml文件中所有的Conv和C3模块为GhostConv和C3Ghost。轻量化模块通常指的是那些可以减少模型参数量和计算复杂度,同时保持较高检测性能的模块。CSDN建议:只替换Backbone中的Conv和C3。可以选择比较二者的差异。
2024-12-09 15:46:42 271
原创 YOLO源码解读:Yolov5的改进方案——注意力模块
在本项目中,他的作用是提取原始特征维度中的信息,并将其映射到更高的维度,从而增强模型的表达能力和分类精度,但似乎并没有用到所谓的share,作用相当于一般的MLP模块,即特征转换、特征提取。通道域旨在显示的建模出不同通道之间的相关性,通过网络学习的方式来自动获取到每个特征通道的重要程度,最后再为每个通道赋予不同的权重系数,从而来强化重要的特征抑制非重要的特征。3.对压缩后的特征图,进行通道特征学习,实现: 通过FC全连接层操作学习,得到具有通道注意力的特征图,它的维度还是1。该模块关注的是目标的位置信息。
2024-12-09 15:45:42 774
原创 YOLO源码解读:Yolov5中的SPPF
输入特征图通过多个5×5大小的MaxPool层进行空间金字塔池化,这种结构可以降低计算复杂度,提高网络的运行速度。同时,SPPF模块中的最大池化核大小要尽可能地接近或者等于需要池化的特征图的大小,这使得特征图经过局部特征与全矩特征相融合后,丰富了特征图的表达能力。两次卷积操作设置了不同大小的核和步长,用以进行特征感知和提取。
2024-12-09 15:41:57 225
原创 YOLO源码解读:Yolov5中的C3
C3模块中的Conv块采用的都是3x3的卷积核。这个卷积操作可以使用任意的卷积核,但根据设计,采用1*1的卷积核可以起到降维或升维的作用,对于提取特征有重要意义。nn.Sequential()函数:一个有序的容器,该类将按照传入构造器的顺序,依次创建相应的函数,并记录在Sequential类对象的数据结构中,同时以神经网络模块为元素的有序字典也可以作为传入参数。在YOLOv5 6.0版本中,C3模块是YOLOv5网络中的一个重要组成部分,其主要作用是增加网络的深度和感受野,提高特征提取的能力。
2024-12-09 15:41:12 394
原创 YOLO源码解读:yolov5中的Conv
gamma与beta是可学习的大小为C的参数向量(C为输入大小)BN标识BN层,作用是规范化神经网络中的特征值分布的一种归一化层。nn.BatchNorm2d():pytorch当中的一个函数,对输入的四维数组进行批量标准化处理,公式如下。Conv2d:nn.Conv2d(),这是pytorch当中的一个函数,他的作用是进行卷积操作。out_channels:参数代表卷积核的个数,输出的通道数即使用的卷积核的个数。这个是yolov5的卷积层Conv定义,其中包含Conv2d+BN+Silu。
2024-12-09 15:40:36 309
图书管理系统(适用于大一大二的课设,C语言,链表)
2020-05-29
YOLOV5报关于git的错误?
2023-09-19
机器学习--交叉验证法
2023-07-26
关于darknet.sln打开报错的问题(没有CUDA x.x.props文件)
2021-09-18
机器学习怎么导出最终的结果呀?
2021-09-04
tivaware不能注册。。。求一个库
2021-06-24
在linux的服务器上部署的网页怎么连接到后台数据库?
2021-06-05
jdbc一定要驱动包么?
2021-06-05
有没有什么能简单的开发网页前端的软件
2021-06-04
Eclipse的工程目录看不懂了。。。。?
2021-04-13
想做一个网页,需要租服务器,这个应该怎么选呢???
2021-04-08
使用eclipse创建maven工程,没有工程选项
2021-03-30
win10系统变量不能修改,已经取得管理员权限,该怎么处理
2021-03-29
jdbc的连接。。。
2021-02-27
怎么在表单的提交按钮中加功能?
2021-02-15
select做一个下拉框,然后怎么传出选择的数据呀?
2021-02-03
String id=request.getParameter("id")?
2021-01-31
应该学习那些编程语言来完成这个app?
2020-10-12
安卓intent不会用,求帮忙。。。?
2020-10-09
程序运行正确,就想问下solve方法的最后一行三目运算符的意思,解释一下这一行?
2020-09-30
实例化对象为什么出错ya?
2020-09-25
数组下标越界该怎么修改?
2020-09-21
怎么修改让这两个按钮覆盖这一行
2020-09-05
用Android studio 做了一个计算器,但最后为什么打不开呀?
2020-08-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人