00:00
那接下来我们来以一个实际的案例给大家执行一遍啊,那接下来的案例我会从卡夫卡读数据,并且将数据写入到户体表当中,用咱们的呃得尔塔STEM这么工具,那这里有几个细节还记得吧,第一,我们用什么样的STEM?STEM提供提供提供器,还有什么样的SS格式,那这边我选择的是什么呢?由于我用的是阿帕奇卡,不卡是吧?那我选择用基于文件的STEM定义啊这种方式来啊,这个刚才讲了啊,那卡普卡里面准备的数据我会封装成Jason的格式啊,所以我的S类要指定为Jason卡普卡S,好能理解这两个配置的意义。好,那接下来我们先创建一个topic呗,啊,那创建topic大家应该都会啊。都会吧,应该都会来,那先启动你的卡不卡啊,我的卡不卡,目前你看我是已经启动了的啊,我的卡普卡有了,那接下来我直接拷贝这个命令,创建一个topic叫d test。
01:09
哦,我也不用并了啊,我配的环境变量。好。那我看一下创建成功没有啊,我自己手敲一下,其实也没必要手枪,我稍微改一下上面就行,刚刚list。看看创建好没有,诶你看有一个叫who d test对吧,那就创建成功了啊行,那接下来就是往卡不卡里面写数据呗,啊那你让我一条一条的用控制台去生产者去发送,太慢了,所以我写了一个。Java程序啊啊,那这边需要的依赖还有呢,代码就很简单的一个啊,就给给到你们了啊,你们想用就用,不想用也无所谓啊。
02:05
那依赖呢,我这边就之前咱们演示idea编码的这个工程里面,我就在这里放就好了啊依赖我们再单独导入两个,一个是什么卡夫卡客户端,呃,那你卡夫卡是什么版本,你就对应用啥版本好了,我是2.4.1,另外呢,我会要封装Jason啊,我用了一个阿里巴巴的这个fast Jason啊把这两个依赖导入就可以了。呃,那么fast Jason,嗯,大家知道在1.2.80之前的版本是有一个安全漏洞的啊,是可以被注入攻击的啊,所以大家平时用的时候不要老是用那些什么1.2.68呀,1.2.7呀,七几啊这种,呃,还是有风险啊,生产环境建议用八零以上的啊,那我这边比如说用的八三没问题啊,那是一个Java类啊,你利用一个Java类啊,然后把我这个代码拷过来,拷过来之后呢。
03:05
呃,第一个你就改这就行了呗,改你的卡不卡地址,改一下其他的这些参数配置无所谓了,就这么放着吧啊,其他都不完全不用动了啊,还有一个地方叫这个topic。呃,Topic,咱们是叫test是吧,Test那文档里面也保持一致吧,应该没有改过来。啊,在这。尽量让大家就是复制粘贴,不要出现前后矛盾的情况啊好行。然后呢,我们先起一个控制台,消费者看一看数据过来了没有啊,无敌。大家可以看到现在没数据对吧?啊,然后呢,这个程序咱们直接运行就可以了啊,我现在是生成什么1000条。
04:08
1000条数据就好。如果控制台能消费到,那说明这个topic的数据就有了呗,哎,你看对吧,那这个就是咱们数据的样子,大家看一下啊,有个字段叫UID,有一个字段叫username,有一个叫age,有一个叫partition啊。那回头。啊,就数据就长这样呗,这么一个Jason,好吧,那就很简单的一个程序,这个是准备数据。那接下来我们准备一下fire STEM需要的配置文件。对吧,咱们不是用fire base吗?啊,那我们就需要定义,其实我们最核心要的配置只有一个东西叫卡不卡S。那这个东西我带大家看一下在哪啊,供消费者我退了啊c.software估0.12.0对吧,CD package,呃,不用啊,我们进入到一个叫hodi UUS。
05:11
啊,不用去到package了,在这里就有了WHODU,然后里面呢,有src,对吧,源码,源码当中有一个test模块啊,我们进入到test test当中有一个resources。好看一下。这个resources里边有一个文件夹叫deta streamer配置再进来,这边提供了各种各样的模板,大家看一下有这么多个呀,那这么多个你要哪一个呢?啊,其实大家教大家一招简单的啊,呃,它都是一个案例而已,我们最关键的是要找到各种各样的S配置,比如说你是文件系统的来源,那你就要找DFSS,如果你的来源是卡夫卡,那么你就找卡夫卡S在这。
06:05
那至于其他的,那是因为被这个所谓的sources文件所需要啊,要了你再去考,不要了你就不用管,那比如说我们是卡不卡,我们就看一下这个文件呗,VM,那你看啊,我们核心就是配置这么一个文件。那大,那么大家注意几个地方啊,第一它这个include叫包含的配置文件,是不是一个叫base properties,这个就是在刚才同一个路径下的啊,所以是不是我们要用卡不卡,So,是不是需要它呀?啊,所以它回头我们也要拷贝啊,这是我们要的其中一个,也就是说先抓住一个主线,主线是什么?主线是我们的卡夫卡source啊,Properties,那他又需要base.properties对吧?啊,我们最主要的是服务他,他需要什么,我们满足他啊,按照这个原原则来啊,那么再往下看,呃,这个是我们指定户体表的什么record key,还有part pass,那这个回头都得改,对吧,我们字段不叫这个啊,就改成咱们字段就行。再往下看一个,这个是不是叫skima provider,它是用con卡不卡那种模式的话,是指定的什么注册的UI。
07:24
但我们用的是什么fire base对吧?所以这一行我们是不要的。能理解我意思吧,啊,你要学会改,不要光会复制粘贴啊,那再回忆一下我刚才讲的发base是不是需要两个配置,配置一个是什么叫S。呃,S的一个asc文件是不是还需要一个target avc文件还记得吧,对吧,如果用fire base是不是得指定这里啊。没错,也就是说,回头我们需要创建这两个文件。
08:04
对吧,然后这两个文件我们要在当前这个地方去指定。就在当前这个卡卡properties里边去指定source和target对吧?啊,所以现在我们也就知道了,诶,我们回头又得准备这两个东西给他引用啊好了,那这一行同样的这个什么注册URL,我们也不用药啊,要他没用我们用不上。好了,那么大家现在一起想一想,我们需要用到的有几个主要几个辅助的呀?是不是一个主要的卡夫卡,还有呢,三个辅助的需要的配置,所以一共我们回头要准备四个配置文件,那废话少说,我们就干脆创建一个目录来存放这四个就好了,先把最主要的拷贝过来好吧。叫我make Di OPT model叫Di prop4啊,我们在本地创建这么一个目录之后呢,我在当前目录下面,我要拷贝什么呢?拷不卡source把它拷贝过来嘛,拷贝过来我们再改拷贝到刚才这个地方,好,这个主要的文件有了,回头修改一下就可以了,另外我们看看其他有没有可以用了,诶你看这里是不是有一个base。
09:26
啊,我也回头是不是也要用了啊,那我先把它拷过来。拷贝到哪了?OPT model?那现在是不是还少两个,两个是什么呢,一个。S一个target对吧,那其实你看这里有案例啊,那你看一下s.AVSC其实就是什么呢?定义一个。字段的名字。对不对。最主要是这段名言字段类型,那这一些我们自己写就行了啊,就不要它了,好,那既然如此,我们进入到刚才那个路径啊,就这个地方o PT modeldi properties。
10:13
好在现在呢,由我们拷贝过来的两个,那我们一一来看呗,这个贝字看一下是什么东西呢,先了解一下,你看其实就是什么湖底的配置。如果有一些护底的参数,你可以在这里指定就OK了,比像像这边有什么up特沙的变形度,Insert沙的变形度,Delete沙变形度对吧?Do颜色变形度,还有其他也可以在这里配的好,那这个我们就不动呗,接下来就是卡夫卡S。啊,不卡卡,Source我们知道要source跟TARGET2种,呃,阿芙罗文件我们自己创建啊,那在文档中我给到大家了啊。啊,前面都是拷贝拷贝对吧。
11:00
嗯。啊,就这一步就行了。所以大家理解什么叫所需的STEM文件,你不要,你光看这句话不好理解,但是前因后果给你讲明白,你就知道为什么要这么做了,是不是啊,也是在这个目录,我们创建一个什么source stemmer阿芙罗文件,这个名字你随便起啊,无所谓啊。创建这个文件,然后呢,如果你生产的数据,生成的数据跟我一样,你直接拷贝就可以啊,我写过来。好,那么大家看一下。呃,Type用record name呢?呃,可以,你想怎么起都行啊,那接下来就字段的定义了,你看有什么U了,ID you name edge partition,为了方便我直接全部定义成什么string类型,那这个now呢,表示说允许为now啊,允许为now,好,这就完事了呗,就是这么简单,这就是阿芙罗skimer,那接下来是不是少个target啊,也就是who底S是代表卡夫卡的STEM,呃,Target代表whodi的scheme,那其实who底表跟他保持一样就行了,所以我干嘛呢?我直接拷贝一份。
12:12
拷贝出一个叫target就可以了呗,啊,CP分出来好,这个时候我们看现在是不是有一个主要的卡普卡source,辅助的base,辅助的source stemmer,辅助的target STEM都有了吧?好,剩最后一步了,最后倒数第二步了,修改卡普卡source,好改一下啊呃,这个base的路径要指定,回头我会打算把这四个文件统一上传到HDFS啊,所以我们就怎么指定呢?先改一下啊,嗯,我的HDFS路径是这样。我打算再跟路径创建一个WHOD文件夹,用来存放,所以这个路径你爱放哪放哪,好吧,啊,我是打算这么放好,接下来record key。
13:10
也就类似组件字段,咱们用什么呢。用了ID嘛,对吧,用户ID分区字段,我们有个字段就叫partition。恩,然后再往下。这个STEM provider这种注册的,我们用不上注释掉,接下来就是什么事呢?去官网把这个fire base这两个配置项拷过来就可以了。好吧,那我也懒得挨个写了,我这里有了啊啊,确认一下用了ID partition,我都给你标红了,要改的地方啊,就直接把这两个拿过来。粘贴你看这个就是官网的那个配置项啊,Source STEM target STEM,那回头我也放到HDFS,也放到这个目录啊,把这两个放在这了,OK,好再往下卡夫卡topic名称这个要改啊。
14:08
咱们叫迪test吧。估test好,接下来是卡不卡的地址。我写一个就好了,正常来讲咱们有几个节点最好最好都写上是不是,那我在这就不写了。呃,STEM注册URL,我们用的是阿帕奇的,不是那个注释掉,好,接下来你也可以指定什么像group ID也可以指定的啊,比如说等于test group啊。就是说你在这儿可以指定一些卡夫卡特有的配置信息啊,在这里。在卡卡里面。我在文档也给出来了啊。行,那那这样的话,这个就改好了呀。对吧,全部都是细节啊,一个地方你不注意,你就莫名其妙用不好,好现在四个配置文件都准备好了,我们干嘛呢,将这四个配置文件上传HDFS,我这之前传过啊,我先删掉一下啊。
15:13
啊,这里对吧,我先删掉。好,现在没有了对吧,没有了我们执行哈杜FS杠。将当前这个D整个文件夹上传到HDFS跟路径好回车。看一眼啊,大家注意刷新。诶,有了吧,在这里点进来,这就是咱们准备好的四个文件。你是你注意啊,你上传的路径是不是要跟你卡夫卡S里面的配置保持一致啊,你要能对得上啊,啊,因为这几个文件的路径是你在卡夫卡source指定的啊,你要能找到路径,要配配的能找到啊行,那按照我这么配就行了。
16:00
那这样的话,我们配置文件也准备好了。嗯。
我来说两句