Apache KafkakafkaConfluent 组件

Kafka Connector 开发指南

2019-04-09  本文已影响5人  扶我起来改bug

Kafka Connector 开发教程

首先放上官方地址:Connector Developer Guide

我觉的kafka 官方文档对于如何开发Connector写的不是很详细,本教程介绍如何开发一个简单的Sink连接器,Source连接器开发和Sink类似,只是继承的类不同而已。

核心概念

Connector 连接器

连接器有两种:

Tasks 任务

Task 也分两种,SourceTask和Sink Task,主要工作就是将Connector分配的数据集合Collection<ConnectRecord> records进行处理,
records包含了topic、partition、key、value、valueSchema等信息。
Task 不需要处理offset等信息,都是由Connector来处理,我们只关心逻辑部分即可。
SourceTask使用的是poll方式,SinkTask使用的是put方式

alt text
Example of a source connector which has created two tasks, which copy data from input partitions and write records to Kafka.

开发Connector

开发Connector只需要继承2个抽象类,一个是Connector,一个是Task。
Source 继承SourceConnector和SourceTask
Sink 继承SinkConnector和SinkTask
具体代码编写可以参考Kafka源码中的FileStreamSourceTask.javaFileStreamSinkTask.java

新建项目

1. 新建maven项目,添加依赖

版本和线上kafka版本保持一致,依赖的jar包不要和kafka运行时的jar包有版本冲突

<dependency>
  <groupId>org.apache.kafka</groupId>
  <artifactId>connect-api</artifactId>
  <version>2.1.1</version>
</dependency>
2. 继承抽象类,实现里面的方法
3. 将插件打包部署。

相关文章:

Kafka Connect 简介

Kafka Connect JDBC Connector使用教程

可以添加作者微信进行相互学习交流,还请填写备注信息。

image
上一篇 下一篇

猜你喜欢

热点阅读