开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建):Lua集成kafka第三方插件代码介绍】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/670/detail/11614
Lua集成kafka第三方插件代码介绍
内容介绍:
一、代码的书写
二、导入依赖包
三、创建Kafka生产者
四、创建数据的载体
五、发送数据
一、代码的书写
目标:
编写 Lua 的脚本,即采集数据的脚本。完成数据后采集后,把这个数据发送到 Kafka 里面。
编写思路:
类似于写Java的代码,除去类似 Java 的部分,要多加一个引入操作。
我们现在使用的是 Lua 脚本 来采集数据,现在还没有 Kafka 生产者的API,需要先引入 Kafka 的包,然后呢再做创建生产者;创建数据的载体;发送数据。
二、导入依赖包
1.打开当下环境 resty,查找依赖包。
查找过程:user local authority- Lua lib进入到 Lua liver里不存在 Kafka 、然后再进入到resty、 Cd rest 里看是否存在 Kafka API 。
2.不存在API时需要使用第三方提供的 Kafka API 。
具体位置:在提供材料-素材-资料包-资料包- Open Resty里面资源里面有个 Lua rest, Kafka 的master文件。
Lua - resty - Kafka -master 右键解压。
点击进入 lib -resty- Kafka-producer,其中包括许多内容。
3.将依赖包上传到集群里面,且上传时要查看 Kafka 的整个目录。
当前的目录是在resty 里边有的一个 Kafka ,其中无内容。将 Kafka 整个目录全部都发送到环境目录下面来。用另外一个工具看一下192.168.100.160,然后用户名为root
输入密码123456,然后找到usr - local -Lula labour。
把这里面的 Kafka 目录直接全部都拖过来走。
三、创建 Kafka 生产者
打开producer,其中存在的[_M]与ridis的相似。具体代码如下:
Local_M={ _VERSION="0.06"}
local mt={ _index=M}
_M即意味着 Kafka 生产者需要创建一个 Kafka 的实例。
创建实例需要用到new,查找目标:_M.new
接着需要实例化这个 Kafka 的 new,这个过程中需要用到以下参数
1. Sel
2. broker list:指集群的一些信息,诸如节点、 IP 、端口等内容。 Brokerlist 传到环境中后已结束,传到入客户端中。
3. config:指一些配置信息
存在or(空):即若传了这个参数,就显示参数;如果没传我就相当默认的参数。
举例: producer type存在一个值; request_timeout,有个or 2000,类似他这个默认值,即这个属性中存在默认值。
即如果传过来的内容中有数据,那就用用户传的,如果没有,就用这个默认值。搜索Opts,显示出来的均为默认值。
4.cluster_name:
存在 or DEFAULT_CLUSTER_NAME查找一下 =1 这也表示一个名字。
即此类集群的名字,如果传了,我就用户上传的命名;没传就使用1来代表该集群。
查找 _M.send发送数据 self 参数是数据本身。
发送数据时的 topic 、 Key 、message中不存在默认值,说明 topic 、 Key 、message 是发送数据时需要用户给出、必备的内容。
四、创建数据的载体
实际上不需要载体,但是也要有一个过程,即实际上是没用到,但在发送数据的时候,要直接把原始数据发送过去。
五、发送数据
API 缩小化, produce这个就完成了。在桌面上面新建一个文件,这个文件就按照讲义中的名字进行命名: GetDataToKafka
GetDataToKafka ,该文件用于书写并获取数据,并且把数据打入到 Kafka 中。