- 博客(27)
- 收藏
- 关注
原创 Kafka的一些重要概念和面试题
因为数据源产生数据的速度和产生数据的规模并不是恒定的,而我们的处理逻辑基本上能够处理数据的能力上限是恒定的,并且如果直接对接数据源和我们的处理逻辑,那么后期在修改代码升级的时候会很麻烦,因此需要用消息队列进行削峰和填谷。这里要注意:kafka在设计中,满足了CAP理论中的AP,也就是可用性和分区容错性,而不能很好的保证C,也就是数据一致性,因此kafka也做了大量的工作来尽可能的保证数据一致性,这个后边再总结。可扩展性:kafka的集群可以进行热扩展。容错性:多节点分布式存储,分区多副本。
2024-03-07 19:53:39
387
1
原创 Spark的textFile源码分析
ok,得到goalSize以后我们还需要计算一个splitSize,也就是真正的分区切片大小,这个公式是splitSize=max(minSize,max(goalSize,blockSize)),这里的话minSize默认为1,blockSize默认就是Hadoop的切块大小(所以我们可以调整minSize和blockSize灵活调整splitSize的大小,想调大,就把minSize调大,想调小,就把blockSize调小)。注意我这里说的切一个分区是按照逻辑切片,而不是真的对文件物理切分。
2024-03-07 17:47:04
599
1
原创 关于Mysql5.7不能有两个timestamp类型的解决办法
这样写就会报错 [Err] 1067 - Invalid default value for 'out_time'当我们在mysql5.x的版本中创建表的时候,如果有两个timestamp类型,直接创建会报错,需要制定默认值。
2024-01-31 10:26:42
666
原创 串的BF匹配算法原理
BF算法其实就是暴力破解算法,从前向后逐个字符进行匹配,当长串S和短串T进行匹配时,设置两个指针i,j分别指向S和T的首元位置,然后逐个匹配,如果能够匹配上,那么i+1,j+1。继续匹配下一个字符,如果匹配不上,那么j需要回到T的首元位置,i需要回到上一次匹配的位置的下一个位置,这次匹配移动了j-1次,所以i应该回到的位置是i-(j-1)+1 也就是i-j+2。继续匹配,当匹配到T的最后一位也能成功匹配的时候,j就会指向T的长度的下一位,这时候匹配成功。如果只匹配一次,那么比较m次即可,时间复杂度o(m)
2024-01-16 16:21:22
355
原创 OOIZE调度shell脚本踩坑记录
我还纳闷为啥报sql的错,查了好多资料才发现是因为我的脚本都在np++里写的,,没有转编码格式,右键点这里选Unix 问题解决。报错日志很长,这是最前边的部份,我一开始没有看,只看了最后边的问题,后来才发现这个问题有多坑。不管写多少脚本,都直接报错。最后边的日志是这样的。
2023-12-20 15:39:29
111
原创 OOIZE报错队列内存不足的解决办法
那么就是yarn的队列内存设置和nodemanger内存设置不满足条件,当使用oozie的工作流执行任务时,如果遇到以下错误。队列内存和容器内存,具体修改大小要看报错里的要求。
2023-12-19 15:05:53
190
原创 Flink使用FileSink将数据写入文件
2.列格式 将一批数据安列格式写入文件,比较重要的有写入parquet文件。1.行格式 直接将数据按行编码写入文件中。
2023-08-25 16:31:25
432
原创 数据结构代码--线性表的顺序存储结构
/** * 线性表的顺序存储结构 */public class SqList { int[] data; int length; public SqList(int leng, int length) { this.data = new int[leng]; this.length = length; } public int[] getData() { return data; } pub.
2022-03-15 22:53:00
1049
原创 linux yum源修改后无法下载的问题
如果yum源下载后无法下载,将/etc/yum.repos.d目录下的CentOS-Base.repo.backup删掉,这个是后来配置的阿里的镜像。新建一个CentOS-Base.repo文件,内容如下:# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are u
2021-11-21 23:44:34
410
原创 TCP协议网络编程及文件上传案例
一.TCP协议TCP传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。 第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求。
2020-11-17 09:58:47
304
原创 UDP协议网络编程及聊天室案例
一.UDP协议UDP协议是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。但是在使用UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,因
2020-11-16 16:56:42
577
原创 JDBC入门学习和JDBC的事务
更多资料点击一.JDBC是什么,它有什么作用当我们学习了Java和MySQL数据库后,如何通过Java代码去操作数据库内的数据呢?这就用到了JDBC,JDBC是SUN公司提供的一套接口,面向接口编程给我们带来了很大的遍历,只需要不同的数据库厂商对该接口进行实现即可,当不同数据库厂商实现了JDBC接口后,我们只需要调用接口内的方法,而不需要关注不同数据库厂商底层的实现方法,带来了很大的遍历。编写代码模拟JDBC的实现过程public interface JDBCTest { //模拟
2020-11-09 15:25:41
205
原创 MYSQL when case的用法和行转列的实现
一 when case 的用法 1.简单函数CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END 现在有如上的表,想要自定义每个人物使用的武器,可以使用如下的语句select 人物"英雄",case 人物 when "诸葛亮" then "扇子" when "吕布" then "方天画戟"else"不使用武器" end"使用的武器" from sanguo...
2020-07-09 15:50:44
3642
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人