- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 Hbase列式存储基础知识总结
首先从zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的region信息。首先从zk中找到meta表的region信息,然后meta表中的数据,meta表中存储了用户的region信息。根据要查询的namespace、表名和rowkey信息,找到对应的真正存储要查询的数据的region信息。根据要查询的namespace、表名和rowkey信息,找到对应的真正存储要查询的数据的region信息。找到这个region对应的regionServer,然后发送请求。
2023-12-15 06:30:00
549
原创 python机器学习——线性回归底层
线性回归针对一个或多个特征与连续目标变量之间的关系建模,即线性回归分析的主要目标是在连续尺度上预测输出,而非分类标签,即预测值为连续值。使用公式计算y1 需要使用TT * k(就是theta[1])theta[0] * 1 才能得到 b + kx。其中 传入参数为 theta(系数 格式为 [0,0] 第一个代表b,第二个代表k ),TT ,BB。多变量 公式 y = k1x1 +k2x2+k3x3+....... +b。所以首先要数据处理 将TT处理为[[1,x1],
2023-12-14 07:44:18
367
原创 flink优化
在实际开发中,有各种环境(开发、测试、预发、生产),作业也有很多的配置:算子的并行度配置、Kafka 数据源的配置(broker 地址、topic 名、group.id)、Checkpoint 是否开启、状态后端存储路径、数据库地址、用户名和密码等各种各样的配置,可能每个环境的这些配置对应的值都是不一样的。Flink性能调优的第一步,就是为任务分配合适的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性能调优策略。heckpoint设置。
2023-12-13 06:00:00
360
原创 python三大模块简短总结
Numpy 总结Np.array() 创建矩阵 例Np.array([1,2,3]) 输出结果为 [1 , 2 , 3]np.array([[1, 2], [3, 4]]) 输出结果[[1 2][3 4]]Reshape 修改数组 例如:a = np.arange(8) [0 1 2 3 4 5 6 7]b = a.reshape(4,2)[[0 1][2 3][4 5][6 7]]
2023-12-12 07:00:00
917
原创 python基础知识总结
设置步长 range(0,10,3) 0 3 6 9 从零开始 到10(不包含10) 步长为3。bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。+ - * / %(取余) **(幂) //(向下取整)print("Finally finished!Lset = {a,b,c,......}或 a = set(value)
2023-12-12 06:00:00
362
原创 Redis基础知识总结
Redis是一个基于内存的key-value结构的数据库 相对于mysql redis的存取要更快一些 可以用作数据库、缓存、消息队列、分布式锁,键值对型数据库,一种非关系型数据库1、redis支持的数据类型String、list、set、sorted、set、hashes2、redis主要消耗什么物理资源?Redis是一种基于内存高性能的数据库 --主要依赖于内存3、Redis有哪几种数据淘汰机制(1)Noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的
2023-12-11 19:39:52
351
原创 Spark-RDD行动算子、累加器、广播变量学习总结
combOp: (U, U) => U 分区间的处理逻辑。* (U, V) => U 分区内的聚合逻辑。// 1. 继承 AccumulatorV2,并设定泛型。// 如果没有相同的单词,那么在 map 中增加这个单词。// 如果有相同的单词,那么单词的数量加 1。// 查询 map 中是否存在相同的单词。// 向累加器中增加数据 (In)// 返回累加器的结果 (Out)// 2. 重写累加器的抽象方法。// 序列化成对象保存到文件。// 累加器是否为初始状态。// 两个 Map 的合并。
2023-12-11 07:42:34
422
原创 spark - RDD转化算子总结
随机分区:数据随机的打散到下游的具体分区里,本质上没什么作用,但是可以用来解决HashPartition的数据倾斜的问题。* HashPartition 让相同类型的数据进入到下游的特定一个分区(会有数据倾斜,因为是根据hash值算的)当处理的数据量发生变化的时候就需要改变。当分区变大的时候,需要走shuffle,当分区调小的时候不需要走shuffle。*******combineByKey和aggregateByKey的区别。把RDD的数据封装成了数组,其中一个数据里的数据指的就是一个分区的数据。
2023-12-10 20:42:37
317
原创 hive产生数据倾斜的原因以及解决办法
数据量小的时候无所谓,数据量大的情况下,由于COUNT DISTINCT操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成,一般COUNT DISTINCT使用先GROUP BY再COUNT的方式替换,虽然会多用一个Job来完成,但在数据量大的情况下,这个绝对是值得的。把导致倾斜的key变成一个字符串加上随机数,把倾斜的数据分到不同的reduce上,由于null值关联不上,处理后不影响最终的结果。(2)在Map端进行聚合操作的条目数目。
2023-12-10 09:30:39
644
原创 spark优化
通常来说,我们在开发一个Spark作业时,首先是基于某个数据源创建一个初始的RDD,接着这个RDD执行某个算子的操作,然后得到下一个RDD,在这个过程中,多个RDD会通过不同的算子操作串起来,这个RDD串就是RDD lineage 就是“RDD血缘关系链”,对于同一份数据,创建了多个RDD。以后每次对这个RDD进行算子操作时,都会直接从内存或磁盘中提取持久化的RDD数据,然后执行算子,而不会从源头处重新计算一遍这个RDD,再执行算子 操作。字符串,每个字符串内部都有一个字符数组以及长度等额外信息。
2023-12-09 09:03:23
821
原创 kafka优化
通常情况下,batch.size、linger.ms和compression.type是需要关注的参数,它们会直接影响Kafka生产者的性能。针对不同的应用场景,可以选择不同的compression.type(压缩类型)来使Kafka生产者更加适应和优化。可以通过异步发送消息来提高性能,将回调函数放入Producer产生的新线程中,可以避免等待I/O操作完成的时间。可以将多个Kafka实例分布在不同的机器上,在数据量大的情况下可以使用多实例的方式,以此提高吞吐量。分区数量和Broker的个数对性能的影响。
2023-12-08 20:52:11
351
原创 hadoop优化
采用数据压缩的方式,减少网络IO的的时间。安装smappy和LZO压缩编码器。在业务处理之前,在HDFS上使用MapReduce程序对小文件进行合并。在数据采集的时候,就将小文件或小批数据合成大文件在上传HDFS。使用SequenceFile二进制文件。在MapReduce处理时,可采用。
2023-12-08 19:58:49
358
原创 Zookeeper(注册中心)学习总结
我们的线上Kafka集群,由于对Zookeeper的操作过于频繁,导致了Zookeeper两个月左右会进行一次强制自重启,对业务产生了一定的影响。经过分析发现,自重启是由于ZXID溢出导致的。经过对源码的分析得知,ZXID的高32位用于epoch(LE选举轮次)、低32位用于记录Leader节点处理的事务数。高24位用于epoch,低40位用于事务counter,按照1K TPS算,那么需要2^{40} / (86400 * 1000 * 365) = 34.9 years之后才会进行一次强制选举。
2023-12-08 19:44:19
1403
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人