- 博客(171)
- 资源 (16)
- 收藏
- 关注
原创 Kafka与Spark案例实践
Kafka系统的灵活多变,让它拥有丰富的拓展性,可以与第三方套件很方便的对接。例如,实时计算引擎Spark。接下来通过一个完整案例,运用Kafka和Spark来合理完成。
2023-10-25 11:00:17
1231
原创 Kafka KRaft模式探索
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer,以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。
2023-10-25 10:59:34
1467
原创 Clickhouse实时数仓建设
绝大多数是读取请求;数据以相当大的Batch进行更新;已存储的数据不能随意修改;对于读取,从数据存储中提取相当多的行,但是只提取列的一小部分;大宽表,即每个表包含着大量的列;查询相对较少(QPS很小);对于简单查询,允许有较低的延迟,比如50ms~100ms;列中的数据相对较小,比如字符串长度很短;处理单个查询时需要高吞吐量;事务非必须;对数据一致性要求低;每一个查询有一个大表,除了它其他都是很小的;查询结果明显小于源数据。
2023-10-23 10:04:13
826
原创 Kafka核心组件详解
Kafka核心组件整体来说比较好理解,实际在编写应用程序时,用到比较频繁的就是生产者和消费者,因此,处理学会应用之外,我们还需要更近一步的来了解Kafka的核心组件。
2023-10-23 10:03:09
530
原创 Apache Ranger安装部署
支持多组件,比如HDFS、Hive、Kafka等,基本能覆盖现有大数据组件;支持日志审计,便于问题排查;用于自己的用户管理体系,方便和其他系统集成。
2023-10-20 10:47:43
592
原创 Kafka与ELK实现一个日志系统
用户可以通过浏览器界面访问Kibana来制定不同的筛选规则,查询存储在ElasticSearch集群中的异常日志数据。返回的结果在浏览器界面通过表格或者JSON对象的形式进行展示,一目了然。
2023-10-20 10:46:40
146
原创 Kafka Eagle分布式模式
当我们管理Kafka多集群或者一个规模较大的Kafka集群时,单机模式的EFAK部署时,运行的多线程任务,相关消费者、Topic、生产者、Broker & Zookeeper的监控指标等内容调度时,部署EFAK的服务器如果配置较低,会造成很大的负载,对CPU的负载会很高。如果管理的Kafka集群规模较小,Topic数量、消费者应用等较少,可以使用EFAK的单机模式部署即可。
2023-10-19 11:08:15
268
原创 Kafka 3.0新特性
Kafka 3.0 的发布标志着社区对 Kafka 项目迈向了一个新的里程牌。正式改名为EFAK),EFAK会持续更新迭代优化,为大家管理Kafka集群和使用Kafka应用提供便利,欢迎大家使用EFAK,也可以到Github或者EAFK官网上关注EFAK的最新动态。
2023-10-18 10:33:20
1104
原创 Kafka连接器建立数据管道
Kafka 连接器可以从DB存储或应用程序服务器收集数据到Topic,使数据可用于低延迟的流处理。导出作业可以将数据从Topic传输到二次存储和查询系统,或者传递到批处理系统以便进行离线分析。
2023-10-18 10:32:13
254
原创 Kafka存储内幕详解
如果使用压缩策略清除过期日志,则需设置属性“log.cleanup.policy”的值为“compact”。压缩清除只能针对特定的主题应用,即,写的消息数据都包含Key。它会合并相同Key的消息数据,只留下最新的消息数据。
2023-10-17 13:30:06
68
原创 Kafka流处理内幕详解
对于存储在Kafka系统内的数据,Kafka系统提供了一种进行处理和分析的功能——流处理,它具有以下特性。通常情况下,流式计算与批处理计算会放在一起做比较分析。(1)在流式计算模型中,数据的输入是持续不断的,这意味着永远不知道数据的上限是多少,因此,计算产生的结果也是持续输出的,流程如下图所示。流式计算一般对实时性要求较高,为了提升计算效率,通常会采用增量计算来替代全量计算。(2)在批处理计算模型中,通常数据上限是可知的,一般会先定义计算逻辑,然后进行全量计算,并将计算结果一次性输出。流程如下图所示。
2023-10-17 13:29:15
1105
原创 如何系统的了解Kafka
在大数据的浪潮下,时时刻刻都会产生大量的数据。比如社交媒体、博客、电子商务等等,这些数据会以不同的类型存储在不同的平台里面。为了执行ETL(提取、转换、加载)操作,需要一个消息中间件系统,该系统应该是异步和低耦合的,即来自各种存储系统(如HDFS、Cassandra、RDBMS等)的数据可以同时转存在一个地方,而所有这些数据源都是彼此独立的。解决这个问题的方法之一是Kafka,它是一个开源的分布式消息处理平台。
2023-10-16 10:26:51
58
原创 Kafka2.8安装
从Kafka2.8版本开始,可以不用Apache Zookeeper来作为Kafka的依赖组件了,官网把这种称之为KRaft模式。目前,Kafka使用Zookeeper来存储有关分区和Broker的元数据,并选择一个Broker作为Kafka的Controller。现在官网打算删除对Zookeeper的依赖,让Kafka能够以更具扩展性和更加强大的方式管理元数据,从而支持更多分区。
2023-10-16 10:25:31
547
原创 Kafka分布式查询引擎
Kafka是一个分布式消息中间件系统,里面存储着实际场景中的数据。Kafka原生是不支持点查询的,如果我们想对存储在Topic中的数据进行查询,可能需要对Topic中的数据进行消费落地,然后构建索引(或者数据落地到自带所以的存储系统中,例如HBase、Hive等)。今天,笔者就为大家来介绍如何实现Kafka分布式查询引擎。
2023-10-13 10:16:55
240
原创 如何系统的了解Kafka
以上就是笔者给大家简要的汇总了Kafka的各个知识点,包含常见的术语、Consumer & Producer的使用方式、存储流程等。
2023-10-13 10:15:57
47
原创 Kafka Eagle V2.0.0新版预览
Kafka Eagle提供了简单易用的操作界面,支持Kafka和Zookeeper的ACL认证监控,满足常规的消费者组、集群性能、消息容量、多集群管理、多IM告警(微信、钉钉、邮件、WebHook)等多功能。超过1300+,处理大家提交的Issue 300+多个,如果你Kafka集群缺少监控,不妨可以试试Kafka Eagle。
2023-10-11 09:10:45
125
原创 Kafka SSL安装与配置
在Kafka 0.9.0.0之后,Kafka社区增加了一系列的功能,其中包含对Kafka集群进行安全管控。Broker与Client之间的权限认证(例如Producer和Consumer)。可以使用SSL或SASL,而SASL支持如下方案:SASL/GSSAPI(Kerberos),开始于0.9.0.0版本SASL/PLAIN,开始于0.10.0.0版本SASL/SCRAM-SHA-256和SASL/SCRAM-SHA-512,开始于0.10.2.0版本。
2023-10-08 10:43:11
962
原创 Flink消费Kafka到HDFS实现及详解
在Kafka 0.9.0.0之后,Kafka社区增加了一系列的功能,其中包含对Kafka集群进行安全管控。Broker与Client之间的权限认证(例如Producer和Consumer)。可以使用SSL或SASL,而SASL支持如下方案:SASL/GSSAPI(Kerberos),开始于0.9.0.0版本SASL/PLAIN,开始于0.10.0.0版本SASL/SCRAM-SHA-256和SASL/SCRAM-SHA-512,开始于0.10.2.0版本。
2023-10-08 10:42:11
597
原创 Kafka网络模型和通信流程剖析
通过认真阅读和分析Kafka的网络通信层代码,可以收获不少关于NIO的网络通信知识。通过对Kafka的源代码进行阅读和学习,这对大规模Kafka集群性能的调优和问题定位排查是很有帮助的。
2023-09-27 15:05:27
509
原创 Kafka日志压缩剖析
Kafka的日志压缩原理并不复杂,就是定时把所有的日志读取两遍,写一遍,而CPU的速度超过磁盘完全不是问题,只要日志的量对应的读取两遍和写入一遍的时间在可接受的范围内,那么它的性能就是可以接受的。
2023-09-27 15:03:44
366
原创 面向对象的基础知识
比如说,对于一个钱包类,里面有余额、币种这两个属性,通常是不允许外部直接更新余额或者直接更新币种,而是仿照现实交易的找补零钱的方式,对外提供一个找补零钱的方法,在这个方法中根据提供的参数来更新余额和币种,这样可以保证数据的一致性。多态可以通过继承的方式实现,子类继承父类之后,并重写了父类的方法,在初始化子类的对象时,可以将对象定义为父类的数据类型,这时的对象调用的会是重写后的子类方法。所谓的鸭子类型,指的是只关心事物的外部行为而非内部结构,即不关心对象是什么类型,只关心该对象是否拥有指定方法。
2023-09-25 21:11:49
55
原创 Python数据预处理:彻底理解标准化和归一化
1)需要使用梯度下降和计算距离的模型要做归一化,因为不做归一化会使收敛的路径程z字型下降,导致收敛路径太慢,而且不容易找到最优解,归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。数据中不同特征的量纲可能不一致,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。2)概率模型、树形结构模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、随机森林。Z-Score标准化。
2023-09-25 09:34:12
898
原创 【数据分析 R语言实战】 方差分析与R实现
它的基本原理如下:将一些对响应变量Y有影响的变量X(未知或难以控制的因素)看作协变量,建立响应变量Y随X变化的线性回归分析,从Y的总的平方和中扣除X对Y的回归平方和,对残差平方和作进一步分解后再进行方差分析。contrasts是公式中的一些因子的对比列表。Levene检验,它既可以用于正态分布的数据,也可用于非正态分布的数据或分布不明的数据,具有比较稳健的特点,检验效果也比较理想。检验的结果为P=0.0112
2023-09-21 10:37:22
1421
2
原创 【R语言进行数据挖掘】决策树和随机森林
1、使用包party建立决策树这一节学习使用包party里面的函数ctree()为数据集iris建立一个决策树。属性Sepal.Length(萼片长度)、Sepal.Width(萼片宽度)、Petal.Length(花瓣长度)以及Petal.Width(花瓣宽度)被用来预测鸢尾花的Species(种类)。在这个包里面,函数ctree()建立了一个决策树,predict()预测另外一个数据集。在建立模型之前,iris(鸢尾花)数据集被分为两个子集:训练集(70%)和测试集(30%)。
2023-09-21 10:36:04
1716
原创 主成分和因子分析
RC2栏的载荷表示第二主成分主要由变量5到变量8来解释(容量变量),两个主成分旋转后的累积方差解释性没有变化(81%),变的只是各个主成分对方差的解释度(成分1从58%变为44%,成分2从22%变为37%)。最流行的正交旋转是方差极大旋转,它试图对载荷阵的列进行去噪,使得每个成分只是由一组有限的变量来解释(即载荷阵每列只有少数几个很大的载荷,其他都是很小的载荷)。PCA的目标是用一组较少的不相关变量代替大量相关变量,同时尽可能保留初始变量的信息,这些推导所得的变量称为主成分,它们是观测变量的线性组合。
2023-09-20 15:20:23
385
原创 《Python基础教程》 读书笔记 第五章(下)循环语句
if/break语句自然地将循环分为两部分:第1部分负责初始化(在普通的while循环中,这部分需要重复),第2部分则在循环条件为真的情况下使用第1部分内初始化好的数据。exec语句会执行一系列Python语句,而eval会计算Python表达式(以字符串形式书写),并且返回结果值,(exec语句并不返回任何对象,因为它本身就是语句)。可以看到,潜在的破坏性代码并不会覆盖sqrt函数,原来的函数能正常工作,而通过exec赋值的变量sqrt只在它的作用域内有效。注意:字典元素的顺序通常是没有定义的。
2023-09-20 10:35:45
93
原创 《Python基础教程》 读书笔记 第五章(上)条件语句
Python将一个tab字符解释为到下一个tab字符位置的移动,而一个tab字符位置为8个空格,但是标准且推荐的方式是只用空格,尤其是在每个缩进需要4个空格的时候。它们的值可能相等,但是却不是同一个对象。换句话说,也就是标准值False和None、所有类型的数字0(包括浮点型、长整型和其他类型)、空序列(比如空字符串、元组和列表)以及空的字典都为假。如果需要检查多个条件,就可以使用elif,它是“else if的简写,也是if和else子句的联合使用----也就是具有条件的else子句。
2023-09-20 10:34:49
57
原创 从Excel到Python:最常用的36个Pandas函数
本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入、数据清洗、预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作。
2023-09-19 21:24:55
619
原创 机器学习算法与Python实战
拥有良好的统计背景对于数据科学家的日常工作可能会大有裨益。每次我们开始探索新的数据集时,我们首先需要进行探索性数据分析(EDA),以了解某些特征的概率分布是什么。如果我们能够了解数据分布中是否存在特定模式,则可以量身定制最适合我们的机器学习模型。这样,我们将能够在更短的时间内获得更好的结果(减少优化步骤)。实际上,某些机器学习模型被设计为在某些分布假设下效果最佳。因此,了解我们正在使用哪个概率分布可以帮助我们确定最适合使用哪些模型。
2023-09-19 21:22:34
182
转载 RabbitMQ真实生产故障问题还原与分析
由某个服务BI-collector-xx队列出现阻塞,影响很整个rabbitMQ集群服务不可用,多个应用MQ生产者服务出现假死状态,系统影响面较广,业务影响很大。当时为了应急处理,恢复系统可用,运维相对粗暴的把一堆阻塞队列信息清空,然后重启整个集群。某天周末在家里,找个测试环境,安装rabbitmq尝试重现这过程,并做模拟测试。写两个测试应用Demo(假设是两个项目应用)分别有生产者和消费者,并分别使用队列testA和testB。
2023-08-13 13:10:28
349
原创 微信小程序开发附源码:解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
然后在开发中,数据仓库这块懵逼了, 引入的vuex的辅助函数mapState、mapGetters、mapMutations、mapActions等怎么就不能用呢。在一般的vue-cli + vuex项目中,主函数 main.js 中会将 store 对象提供给 “store” 选项,这样可以把 store 对象的实例注入所有的子组件中,从而在子组件中可以用this.$store.state.xxx、this.$store.dispatch 等来访问或操纵数据仓库中的数据。•mpvue + vuex项目。
2023-07-06 22:25:17
377
原创 微信小程序开发附源码:在微信小程序里使用watch和computed的方法
现在就有一个问题,怎么将函数添加到 subs 中。因为在执行计算 test1 和 test2 第一次 computed 值的时候,会调用 test 的 getter 方法,此刻就是一个好机会将函数注入到 subs 中,在 data 上声明一个 $target 变量,并将需要执行的函数赋值给该变量,这样在 getter 中就可以判断 data 上有无 target 值,从而就可以 push 进 subs,要注意的是需要马上将 target 设为 null,这就是第二句的用途,这样就达到了一石二鸟的作用。
2023-07-06 22:24:11
386
原创 微信小程序开发附源码:公众号关联微信小程序的步骤
无须下载,用完就走。”相比APP,不需要下载,不需要占用较大空间,使用方便快捷,不仅仅是在生活服务当中,在电商领域同样备受商家追捧,成为社交电视新的方向。4.管理员接收邀请后,登陆微信公众平台→小程序管理,即可查看到已关联的所有小程序,点击已关联的小程序,可以操作解绑;打开微信公众平台网址,登陆已经认证的服务号小程序管理点击添加,选择快速注册并认证小程序。1. 步骤2中,小程序appid需登陆小程序账号密码→ 设置→开发设置中获取。1.登陆微信公众平台,点击小程序管理→点击添加→选择关联小程序;
2023-07-06 22:21:33
322
原创 python判断文件夹是否存在,不存在则创建文件夹
File_Path = os.getcwd()[:-4] +'abc\\' #获取到当前文件的目录,并检查是否有abc文件夹,如果不存在则自动新建abc文件。os.mkdir(homedir+'/'+picdir+'/'+str(page))#创建pic文件夹,用于保存图片。shutil.rmtree(homedir+'/'+picdir+'/'+str(page))#有文件夹,先删除。homedir = os.getcwd()#获取项目当前路径。#创建待保存的文件夹。
2023-06-29 10:05:37
6091
原创 Python几套常用开发工具对比
最爽的是它的代码跳转非常实用,当你写一个大几千行的项目,里面的类,函数很多的时候,就需要它方便的跳转.Python就像一本武林秘籍,想要修炼起来,一定要找一个顺手的兵器,可以说挑选一个好的开发工具是极其重要的,一个好的IDE会帮助你方便地编写Python程序,使你的编程更加舒适。我用python已经有好几年了,中间陆陆续续用过一些IDE,我觉得有2款神器是非常适合初学者的,用了之后感觉就像行云流水,爱不释手,写起代码来非常的爽~~ 推荐给大家,不好勿喷。这样对于web开发就不用再安装其他的IDE了。
2023-06-29 10:04:47
180
原创 python计算机视觉应用:人脸识别、面部特征提取
但这里有一个有趣的现象,那就是同时使用Python或者R语言的人,推荐别人使用Python的却远高于R语言。光有数据还不足以说明什么,深入分析一波:细心的小伙伴一定发现了,雷神明明是11月3号才上映,为啥10月份就有影评了?
2023-06-29 10:04:06
903
原创 python 数据科学最实用的python库
juba是一个python类库,用于处理中文文本,实现文档词汇矩阵、词汇文档矩阵、文档相似、词汇关联分析、自动文档生成等基础功能,Python第三方库jieba(结巴)的定位和功能不同,jieba主要用于中文分词、词性标注、关键词提取等,是中文文本处理的最基础部分。Anaconda是数据分析的Python发行版本,集成了几百个专门做数据分析的库,像numpy,pandas,matplotlib,scikit-learn等常用的库都有集成,而且还提供跨平台的安装包,实在是做数据分析不二的选择。
2023-06-29 10:04:05
208
原创 用Python爬取网页小技巧
平时写代码的时候,要引用系统自带的模块或者是第三方模块,甚至是项目中的模块,有时候代码快写一整屏了,为了把一个模块导入进来,我们不得不把光标拉到文件顶部,先把模块名手动导入进来,再回到文件底部开始写代码,如此重复来回地切换,好麻烦。如果能把工具熟练运用,往往能达到事半功倍的效果,Pycharm 是很多Python开发者的首选IDE,提供各种快捷键、重构功能、调试技巧等,Python是动态语言,对于自动导入模块没有静态语言那么方便,但有了 Pycharm,还是可以很强大。彩民们,我只能帮你们到这了!
2023-06-29 10:02:52
511
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人