自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据课程M2——ELK的ELASTICSEARCH概述

单台机器存储数据量是有限的,es可以将一个index下的数据分为多个shard,存储在不同的机器上,横向扩展,存储更多的数据,而且可以让搜索,分析等操作分步到多个机器上去执行,提升吞吐量和性能。类似于关系型数据库中的行数据-rows,是es中存储数据的最小数据单元.每个文档都能根据数据的结构,有多个字段field存在.而field的类型,在存储数据时,是由mapping映射决定的。Es是天生分布式集群的结构,每个es进程都属于一个集群,即使只有一个Es进程在启动,它也是一个集群.不同集群由集群名称分开。

2023-09-14 17:00:45 360

原创 大数据课程M1——ELK的概述

ElasticSearch简称ES,它是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。所以基于上述的一些问题,开源实时日志分析 ELK 平台能够完美的解决, ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是。1. 所谓数据保存的越多,数据提现的价值就越多.前提是需要分析展示数据。2. KIBANA就可以提供数据的仪表分析等功能。

2023-09-13 17:01:31 473

原创 大数据课程L9——网站流量项目的实时业务处理代码

实时统计的业务指标:pv,uv,vv,newip,newcust。//去HBase表查询所有的历史数据,如果没有查到,则newip=1 反之 newip=0。//此外,行键中包含了uvid,ssid,cip,可以便于根据行键进行过滤,统计相关的指标。//可以根据行键正则过滤器,用uvid来判断。//去HBase表查询当天的数据,如果此uvid还未出现过,则记uv=1。//难点2:如何判断当前记录中的uvid是否在当天的HBase表出现过。//startTime:查询的起始的时间戳=当天凌晨零点的时间戳。

2023-09-12 21:45:58 677

原创 大数据课程L8——网站流量项目的SparkStreaming整合代码

/RDD[String]->RDD[(输出key:ImmutableBytesWritable,输出value:Result)]//①参:HBase环境参数对象 ②参:表类型 ③参:key类型 ④参:value类型。⚪ 掌握网站流量项目的SparkStreaming整合Kafka代码;⚪ 掌握网站流量项目的SparkStreaming整合HBase代码;//创建HBase表的scan对象。//指定扫描的起始行键。//指定扫描的终止行键。//指定输出的表类型。//设置scan对象。

2023-09-12 21:34:43 148

原创 大数据课程L7——网站流量项目的操作步骤

8. 启动 tomcat,访问埋点服务器,测试 SparkStreaming 是否能够收到数据。6. 整合 SparkStreaming 与 Kafka,完成代码编写。5. 创建一个 Scala 目录,使其成为 source root。2. 创建 Maven 工程,骨架选择 quickstart。搜素 Scala 插件,安装即可,安装完成后重启。7. 学习 Spark 与 HBase 整合基础。13. 执行如下指令进入 hbase客户端,建表。6. 引入工程 pom,详见笔记。

2023-09-12 21:21:29 429

原创 大数据课程L6——网站流量项目的SparkStreaming

比如,在上面的 WordCount 示例中,每5秒一个周期,那么每5秒的数据都分别对应一个 RDD,如图所示,图中的时间点1、2、3、4代表连续的时间周期。很多的时候我们要的也不是这样的效果,我们希望能够每隔一段时间重新统计下一段时间的数据,并且能够对设置的批时间进行更细粒度的控制,这样的功能可以通过滑动窗口的方式来实现。这是由 RDD 的容错机制来决定的。为了提高SparkStreaming的工作效率,你应该合理的配置批的时间间隔, 最好能够实现上一个批处理完某个算子,下一个批子刚好到来。

2023-09-11 22:09:37 352

原创 大数据课程L5——网站流量项目的实时业务系统搭建

文章作者邮箱:[email protected] 地址:广东惠州。⚪ 掌握网站流量项目的 Flume—>Kafka 连通;访问页面——>flume——>kafka。⚪ 掌握网站流量项目的实时业务系统搭建;一、Flume—>Kafka 连通。二、实时业务系统搭建。

2023-09-10 21:24:26 461 1

原创 大数据课程L4——网站流量项目的Hive离线批处理

对于上述的工作,我们发现需要手动去写hql语句从而完成离线数据的ETL,但每天都手动来做显然是不合适的,所以可以利用hive的文件调用与占位符来解决这个问题。在hive最后插入数据时,涉及到一个日志的分区是以每天为单位,所以我们需要手动去写这个日期,比如 2021-05-10。把要执行的 hql 语句写到 hive 文件中,然后在 hive 的 bin 目录。crontab命令的功能是在一定的时间间隔调度一些命令的执行。⚪ 掌握网站流量项目的 Hive 的占位符与文件的调用;

2023-09-10 21:23:56 253

原创 大数据课程L3——网站流量项目的系统搭建

url=http://localhost:8090/Demo/b.jsp&urlname=b.jsp&title=页面B&chset=UTF-8&scr=1024x768&col=24-bit&lg=zh-cn&je=0&ce=1&fv=27.0 r0&cnv=0.7150457187789598&ref=http://localhost:8090/Demo/a.jsp&uagent=Mozilla/5.0 (Windows NT 10.0;3. 要有一些跳出会话数据(只有一次访问记录的会话是跳出会话)。

2023-09-08 10:21:03 235

原创 大数据课程L2——网站流量项目的算法分析&&数据处理

网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内容受到欢迎,哪些页面存在问题,从而使网站改进活动更具有针对性。统计当天有哪些 ip 在以往的数据中从未出现过的 ip 数量(这样的 ip 是新增 ip)。① 每当产生一个新的 Session 会话时,网站后台会产生一个唯一的标识(ssid)。如果 BR 高,则说明网站对用户的吸引力低。则当天总的 pv = 5,总的 uv = 3,总的 vv = 4。则当天总的 pv = 5,总的 uv = 3,总的 vv = 4。

2023-09-07 21:38:57 542

原创 大数据课程L1——网站流量项目的概述&&整体架构

在该URL参数上会附带一些用户的访问信息(如被访问页面的URL、识别用户身份的cookie等),这样通过分析日志服务器(一般是nginx或apache)的access日志文件就能获取到这些信息。我们需要收集某个网页的访问情况,通用的做法是在这个网页上嵌入一个JS脚本,这样当用户访问该页面时,页面上的JS脚本会在页面上动态加入一个<image/>标签,并且<image/>的src属性指向日志服务器下的一个透明图片的URL地址。//--如果cookie中不存在ar_stat_ss 说明是一次新的会话。

2023-09-07 14:06:08 266

原创 大数据课程K22——Spark的SparkSQL的API调用

文章作者邮箱:[email protected] 地址:广东惠州。//将结果输出到linux的本地目录下,当然,也可以输出到HDFS上。1. 打开scala IDE开发环境,创建一个scala工程。⚪ 掌握Spark的通过api使用SparkSQL;5)打jar包,并上传到linux虚拟机上。2. 导入spark相关依赖jar包。一、通过api使用SparkSQL。3. 创建包路径以object类。6)在spark的bin目录下。

2023-09-05 21:47:02 640

原创 大数据课程K21——Spark的SparkSQL基础语法

val emp=sc.parallelize(List((1,100,"张财务"),(2,100,"李会计"),(3,300,"王艳发"))).toDF("id","did","name"){"name":"陈晨","address":{"city":"西安","street":"南二环甲字1号"}}{"name":"娜娜","address":{"city":"西安","street":"南二环甲字2号"}}orderBy/sort($"列1" , $"列2".desc) 按两列排序。

2023-09-05 21:22:34 675

原创 大数据课程K20——Spark的SparkSQL概述

另外,使用这种方式,每个数据记录产生一个JVM对象,如果是大小为200GB的数据记录,堆栈将产生1.6亿个对象,这么多的对象,对于GC来说,可能要消耗几分钟的时间来处理(JVM的垃圾收集时间与堆栈中的对象数量呈线性相关。但是,随着Spark的发展,对于野心勃勃的Spark团队来说,Shark对于hive的太多依赖(如采用hive的语法解析器、查询优化器等等),制约了Spark的One Stack rule them all的既定方针,制约了spark各个组件的相互集成,所以提出了sparkSQL项目。

2023-09-04 22:19:26 555

原创 大数据课程K19——Spark的电影推荐案例&&推荐系统的冷启动问题

当然这个个性化的粒度很粗,因为所有刚注册的女性看到的都是同样的结果,但相对于不区分男女的方式,这种推荐的精度已经大大提高了。推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。标注完所有的歌曲后,每首歌都可以表示为一个多维的向量,然后通过常见的向量相似度算法可以计算出歌曲的相似度。为此,我们只能利用物品的内容信息计算物品相关表,并且频繁地更新相关表(比如半小时计算一次),然后将它们推荐给喜欢过和它们相似的物品的用户。

2023-09-04 17:01:42 812

原创 大数据课程K18——Spark的ALS算法与显式矩阵分解

所以在MLlib的ALS算法中,首先对U或者I矩阵随机化生成,在每一次迭代时,固定用户因子矩阵或是物品因子矩阵中的一个,然后用固定的这个矩阵以及评级数据来更新另一个矩阵,然后利用被求取的矩阵对象去求随机化矩阵。它通过观察到的所有用户给商品的打分,来推断每个用户的喜好并向用户推荐适合的商品。由于是对“用户-物品”矩阵直接建模,用这些模型进行预测也相对直接:要计算给定用户对某个物品的预计评级,就从用户因子矩阵和物品因子矩阵分别选取相应的行(用户因子向量)与列(物品因子向量),然后计算两者的点积即可。

2023-09-03 22:07:51 699

原创 大数据课程K17——Spark的协同过滤法

用特定的计算方法扫描和指定目标相同的已有用户,根据给定的相似度对用户进行相似度计算,选择最高得分的用户并根据其已有的信息作为推荐结果从而反馈给用户。在已有信息中,用户3已经选择了物品1和物品5,用户2比较偏向于选择物品2和物品4,而用户1选择了物品1、物品4以及物品5。那么完全有理由相信用户1和用户3都选择了相同的物品1和物品5,那么将物品3向用户3推荐也是完全合理的。对于不熟悉的用户,在缺少特定用户信息的情况下,根据用户已有的偏好数据去推荐一个未知物品是合理的。品相似的那些物品,并将这些物品推荐给用户。

2023-09-02 12:31:59 1122

原创 大数据课程K16——Spark的梯度下降法

比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。对于在点(x0,y0)的具体梯度向量就是(∂f/∂x0, ∂f/∂y0)T.或者▽f(x0,y0),如果是3个参数的向量梯度,就是(∂f/∂x, ∂f/∂y,∂f/∂z)T,以此类推。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

2023-09-01 22:00:51 1271

原创 大数据课程K15——Spark的TF-IDF计算Term权重

概括来讲, IDF反应了一个词在所有文本中出现的频率,如果一个词在很多的文本中出现,那么它的IDF值应该低,比如上文中的“to”。一个极端的情况,如果一个词在所有的文本中都出现,那么它的IDF值应该为0。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。前面的TF也就是我们前面说到的词频,一个单词在一篇文档中出现的越多,说明这个词越重要。所以 TF-IDF 对于单词 " this " 的计算结果为 0 ,这就意味着这个词的信息量不是很大,因为它出现在所有文件中。

2023-08-29 18:09:51 790

原创 大数据课程K13——Spark的距离度量&&相似度度量

曼哈顿距离示意图在早期的计算机图形学中,屏幕是由像素构成,是整数,点的坐标也一般是整数,原因是浮点运算很昂贵,很慢而且有误差,如果直接使用AB的欧氏距离(欧几里得距离:在二维或三维空间中的欧氏距离的就是两点之间的距离),则必须要进行浮点运算,如果使用AC和CB,则只要计算加减即可,这就大大提高了运算速度,而且不管累计运算多少次,都不会有误差。曼哈顿距离——亮点在南北方向上的距离加上在东西方向上的距离,即 d ( i, j ) = | xi - xj | + | yi - yj |。

2023-08-28 21:56:39 784

原创 大数据课程K14——Spark的数据挖掘案例

下表统计了某个国家某一时期的谋杀率(murder)和其他因素之间的影响,这些因素包括:Population(人口),Income(收入),Illiteracy(文盲程度), LifeExp(生活经验),HSGrad(文献中未做具体解释),Frost(温度在冰点以下的平均天数),Area(地区)。//--此外,要指定特征向量是哪几列,以及定义特征向量对应的别称,一般用:features"某种商品的需求量(y,吨)、价格(x1,元/千克)和消费者收入(x2,元)观测值如下表所示。// 设置线性回归参数。

2023-08-28 21:55:35 397

原创 大数据课程K12——Spark的MLlib概述

行矩阵是最基本的一种矩阵类型。Matrices.dense方法是矩阵重组的调用方法,第一个参数是新矩阵行数,第二个参数是新矩阵的列数,第三个参数为传入的数据值。MLlib是一个构建在Spark上的、专门针对大数据处理的并发式高速机器学习库,其特点是采用较为先进的迭代式、内存存储的分析计算,使得数据的计算处理速度大大高于普通的数据处理引擎。label是此数据集中每一行给定的标签,而后的index是标签所标注的这一行中的不同的索引值,而紧跟在各自index后的value是不同索引所形成的数据值。

2023-08-28 19:12:05 703

原创 大数据课程K11——Spark的数据挖掘&&机器学习

之所以经常和数据挖掘合在一起讲是因为现在好多数据挖掘的工作是通过机器学习提供的算法工具实现的,例如广告的ctr预估,PB级别的点击日志在通过典型的机器学习流程可以得到一个预估模型,从而提高互联网广告的点击率和回报率;深度学习:deep learning,机器学习里面现在比较火的一个topic,本身是神经网络算法的衍生,在图像,语音等富媒体的分类和识别上取得了非常好的效果,所以各大研究机构和公司都投入了大量的人力做相关的研究和开发。比如:目标市场,客户关系管理(CRM),市场占有量分析,交叉销售,市场分割。

2023-08-28 19:09:20 224

原创 大数据课程K10——Spark的Vector_Space_Model算法

词(Term)在文档中出现的次数越多,说明此词(Term)对该文档越重要,如“搜索”这个词,在本文档中出现的次数很多,说明本文档主要就是讲这方面的事的。不是的,这是由第二个因素进行调整,第二个因素说明,有越多的文档包含此词(Term), 说明此词(Term)太普通,不足以区分这些文档,因而重要性越低。所以引入:相关系数,可以描述相关性的强弱。我们把文档看作一系列词(Term),每一个词(Term)都有一个权重(Term weight),不同的词(Term)根据自己在文档中的权重来影响文档相关性的打分计算。

2023-08-28 19:08:50 139

原创 大数据课程K9——Spark的调优方法

那这个文件夹有很多临时文件,如果都发生读写操作,有的线程在读这个文件,有的线程在往这个文件里写,磁盘I/O性能就非常低。这些函数在不同的节点上并发执行,但每个内部的变量有不同的作用域,不能相互访问,所以有时会不太方便,Spark提供了两类共享变量供编程使用——广播变量和计数器。开启后,spark会检测执行较慢的Task,并复制这个Task在其他节点运行,最后哪个节点先运行完,就用其结果,然后将慢Task 杀死。广播变量是只读的,所以创建之后再更新它的值是没有意义的,一般用val修饰符来定义广播变量。

2023-08-27 11:38:01 129

原创 大数据课程K8——Spark的GC回收机制

为了应付这种情况,虚拟机提供了一种称为“增量式并发收集器”(Incremental Concurrent Mark Sweep/i-CMS)的CMS收集器变种,所做的事情和单CPU年代PC机操作系统使用抢占式来模拟多任务机制的思想一样,就是在并发标记、清理的时候让GC线程、用户线程交替运行,尽量减少GC线程的独占资源的时间,这样整个垃圾收集的过程会更长,但对用户程序的影响就会显得少一些,也就是速度下降没有那么明显。不妨试想一下,要是你的计算机每运行一个小时就会暂停响应5分钟,你会有什么样的心情?

2023-08-26 09:29:12 242

原创 大数据课程K7——Spark的容错&&缓存&&Checkpoint

在进行RDD0→RDD1→RDD3的计算作业时,由于RDD1已经缓存在系统中,因此RDD0→RDD1的转换不会重复进行,计算作业只须进行RDD1→RDD3的计算就可以了,因此计算速度可以得到很大提升。将 RDD 以反序列化的 Java 对象的形式存储在 JVM 中. 如果内存空间不够,部分数据分区将不会被缓存,在每次需要用到这些数据时重新进行计算. 这是默认的级别。①不运行job就触发计算,避免了大量的无意义的计算,即避免了大量的无意义的中间结果的产生,即避免产生无意义的磁盘I/O及网络传输。

2023-08-25 08:58:00 140

原创 大数据课程K6——Spark的Shuffle详解

在Spark 0.8之前,Shuffle Write是持久化到缓存的,但后来发现实际应用中,Shuffle过程带来的数据通常是巨量的,所以经常会发生内存溢出的情况,所以在Spark 0.8以后,Shuffle Write会将数据持久化到硬盘,再之后Shuffle Write不断进行演进优化,但是数据落地到本地文件系统的现实并没有改变。因为在很多运算场景中并不需要排序,因此多余的排序只能使性能变差,比如Hadoop的Map Reduce就是这么实现的,也就是Reducer拿到的数据都是已经排序好的。

2023-08-24 17:03:58 518

原创 大数据课程K5——Spark的框架核心概念

一个DAG会根据RDD之间的依赖关系进行Stage划分,流程是:以Action为基准,向前回溯,遇到宽依赖,就形成一个Stage。DAGScheduler主要负责分析依赖关系,然后将DAG划分为不同的Stage(阶段),其中每个Stage由可以并发执行的一组Task构成,这些Task的执行逻辑完全相同,只是作用于不同的数据。是一个trait,作用是分配当前可用的资源,具体就是向当前等待分配计算资源的Task分配计算资源(即Executor),并且在分配的Executor上启动Task,完成计算的调度过程。

2023-08-23 19:51:54 546

原创 大数据课程K4——Spark的DAG&&RDD依赖关系

spark中的shuffle,在早期的版本中,会产生多个临时文件,但是这种多临时文件的策略造成大量文件的同时的读写,磁盘的性能被分摊给多个文件,每个文件读写效率都不高,影响spark的执行效率。所以在后续的spark中(1.2.0之后的版本)的shuffle中,只会产生一个文件,并且数据会经过排序再附加索引信息,减少了文件的数量并通过排序索引的方式提升了性能。Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG。

2023-08-22 19:47:44 461

原创 大数据课程K3——Spark的常用案例

Top K的示例模型可以应用在求过去一段时间消费次数最多的消费者、访问最频繁的IP地址和最近、更新、最频繁的微博等应用场景。1. 创建spark的项目,在scala中创建项目 导入spark相关的jar包。//--spark输出文件时,默认是有几个Task,就会生成几个结果文件,⚪ 掌握Spark的常用案例——WordCount;⚪ 掌握Spark的常用案例——求最大值和最小值;⚪ 掌握Spark的常用案例——求平均值;⚪ 掌握Spark的常用案例——TopK;⚪ 掌握Spark的常用案例——二次排序;

2023-08-20 16:38:42 861

原创 大数据课程K2——Spark的RDD弹性分布式数据集

诸如普通的集合类型,如传统的Array:(1,2,3,4,5)是一个整体,但转换成RDD后,我们可以对数据进行Partition(分区)处理,这样做的目的就是为了分布式。创建RDD的方式有多种,比如案例一中是基于一个基本的集合类型(Array)转换而来,像parallelize这样的方法还有很多,之后就会学到。(K, V) 的 原始RDD 调用 (K, W) 的RDD时,会返回一个新的 (K, (V, W)) 键值对,其中 Key 键是两边所有的键,Value值是将两边的所有value通过。

2023-08-19 22:57:41 889 1

原创 大数据课程K1——Spark概述

它是不断壮大的大数据分析解决方案家族中备受关注的明星成员,为分布式数据集的处理提供了一个有效框架,并以高效的方式处理分布式数据集。此外,在做一次迭代性质算法的场景下,比如梯度下降法,逻辑回归等时,需要重复的用到某些中间步结果集。# Int的范围将近43亿个数字,而文件中有40亿个数字,肯定有一些数字是没有出现过的。上图是Spark的整个生态系统。即Spark可以一线式处理大数据的所有应用场景,避免部署多种不同的集群带来的麻烦。Spark是一种分布式的、快速的、通用的、可靠的、免费的计算框架。

2023-08-19 12:00:21 552

原创 大数据课程J3——Scala的类定义

这里的implicit就是它字面的含义——隐式,它告诉编译器,这个函数是一个隐式转换函数,能够把Int类型的值转换成String类型的值。scala implicit关键字详解(隐式转换函数、隐式类、隐式参数、隐式值),implicit是scala中的一个关键字,关于它有着丰富的用法,使得scala更灵活和容易扩展。1.对于隐式转换函数,编译器最关心的是它的类型签名,即它将哪一种类型转换到另一种类型,也就是说它应该接受只一个参数,对于接受多参数的隐式函数来说就没有隐式转换的功能了。

2023-08-16 22:04:14 434

原创 大数据课程J2——Scala的基础语法和函数

1. 函数体中return关键字往往可以省略掉,一旦省略掉,函数将会返回整个函数体中最后一行表达式的值,这也要求整个函数体的最后一行必须是正确类型的值的表达式。5.创建一个Map,包含一些你想要的一些装备,以及他们的价格。//等价于f1()方法,注意:如果函数没有=号,无论函数体里的返回值是什么,函数的返回值都是Unit。if是具有返回值的,if判断后,将执行代码的最后一个表达式的值返回作为整个if执行后的结果。编写函数计算x的n次方,其中n是整数,要考虑等n是0,正偶数,正奇数,负数这几种情况。

2023-08-15 21:36:47 555 2

原创 大数据课程J1——Scala的概述

开发者需要付费购买。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。4. 接触语言的第一天你就能编出有趣的程序,但是这门语言很深奥,随着学习的深入,你会发现更新、更好的编写代码的方式。

2023-08-14 22:29:01 448 1

原创 大数据课程I4——Kafka的零拷贝技术

但如果仅仅是发送文件数据,则 copy 4 次是没有意义的,并且还是产生 4 次内核态和用户态的切换,这些都需要小号CPU性能的。表面上一个很简单的网络文件输出的过程,在OS底层,会发现数据会被拷贝4次。上图中,如果要对文件数据修改,则只能在用户态的缓冲区修改,所以需要拷贝4次。3. Kafka的传输性能高,因为底层使用Zero Copy技术。1. Kafka的写入性能高:因为底层是磁盘顺序写。2. Kafka的读取性能高,因为底层是由索引机制。⚪ 掌握Kafka的零拷贝技术;而用户态的访问资源是受限的。

2023-08-13 22:46:57 1743

原创 大数据课程I3——Kafka的消息流与索引机制

比如,在成功消费一条消息后,你又把消费的offset重置到之前的某个offset位置,那么你将收到从那个offset到最新的offset之间的所有消息。想要开启这个特性,获得每个分区内的精确一次语义,也就是说没有重复,没有丢失,并且有序的语义,每个log文件默认是1GB生成一个新的Log文件,比如新的log文件中第一条的消息的offset 16933,则此log文件的命名为:000000000000000016933.log,此外,每生成一个log文件,就会生成一个对应的索引(index)文件。

2023-08-13 22:28:53 2021

原创 大数据课程I2——Kafka的架构

负责管理和监控Kafka集群运行(临时节点+监听机制),包括存储一些元数据信息(比如主题名,主题的分区数,分区的副本数,副本Leader的位置信息,Controller位置等)。1. kafka是有Leader和Follower概念的,注意:是针对分区的副本而言的,不是针对broker来说的。Partition分布在kafka集群的服务器上,每个分区配置一定数量的副本在集群服务器上提供容错能力,每个服务器会共享分区进行数据请求的处理。10. Kafka支持数据的容错机制,即分区数据丢失后,可以恢复。

2023-08-12 22:03:39 1148 2

原创 大数据课程I1——Kafka的概述

1. 我们可以向Kafka发布数据以及从Kafka订阅数据,即我们可以将Kafka看作是一个消息队列或者企业消息系统。所起的作用:缓冲(消峰限流),实现生产与消费的解耦。可以通过远程拷贝,将01的Kafka发送给02,03,更改broker.id即可。3. 当数据到达Kafka之后,可以马上的被消费处理。即Kafka的延迟很低。3.在kafka中每一条记录包含一个key,一个value以及一个时间戳。2. Kafka可以存储数据,并提供容错机制。3.进入Kafka安装目录下的config目录。

2023-08-10 22:45:14 2151

空空如也

空空如也

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

TA关注的人

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