当前位置: 首页 > 编程日记 > 正文

1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

不多说,直接上干货!

一切来源于官网

http://kafka.apache.org/documentation/

Step 7: Use Kafka Connect to import/export data

Step 7: 使用 Kafka Connect 来 导入/导出 数据

Writing data from the console and writing it back to the console is a convenient place to start, but you'll probably want to use data from other sources or export data from Kafka to other systems. For many systems, instead of writing custom integration code you can use Kafka Connect to import or export data.

从控制台写入和写回数据是一个方便的开始,但你可能想要从其他来源导入或导出数据到其他系统。
对于大多数系统,可以使用kafka Connect,而不需要编写自定义集成代码。

Kafka Connect is a tool included with Kafka that imports and exports data to Kafka. It is an extensible tool that runs connectors, which implement the custom logic for interacting with an external system. In this quickstart we'll see how to run Kafka Connect with simple connectors that import data from a file to a Kafka topic and export data from a Kafka topic to a file.

Kafka Connect是导入和导出数据的一个工具。它是一个可扩展的工具,运行连接器,实现与自定义的逻辑的外部系统交互。
在这个快速入门里,
我们将看到如何运行Kafka Connect用简单的连接器从文件导入数据到Kafka主题,
再从Kafka主题导出数据到文件

First, we'll start by creating some seed data to test with:

首先,我们首先创建一些种子数据用来测试:
> echo -e "foo\nbar" > test.txt




Next, we'll start two connectors running in standalone mode, which means they run in a single, local, dedicated process. We provide three configuration files as parameters. The first is always the configuration for the Kafka Connect process, containing common configuration such as the Kafka brokers to connect to and the serialization format for data. The remaining configuration files each specify a connector to create. These files include a unique connector name, the connector class to instantiate, and any other configuration required by the connector.

接下来,我们开启2个连接器运行在独立的模式,这意味着它们运行在一个单一的,本地的,专用的进程。
我们提供3个配置文件作为参数。
第一个始终是kafka Connect进程,如kafka broker连接和数据库序列化格式,
剩下的配置文件每个指定的连接器来创建,这些文件包括一个独特的连接器名称,连接器类来实例化和任何其他配置要求的。
> bin/connect-standalone.sh   config/connect-standalone.properties   config/connect-file-source.properties   config/connect-file-sink.properties




These sample configuration files, included with Kafka, use the default local cluster configuration you started earlier and create two connectors: the first is a source connector that reads lines from an input file and produces each to a Kafka topic and the second is a sink connector that reads messages from a Kafka topic and produces each as a line in an output file.

这是示例的配置文件,使用默认的本地集群配置并创建了2个连接器:
第一个是导入连接器,从导入文件中读取并发布到Kafka主题,
第二个是导出连接器,从kafka主题读取消息输出到外部文件

During startup you'll see a number of log messages, including some indicating that the connectors are being instantiated. Once the Kafka Connect process has started, the source connector should start reading lines from test.txt and producing them to the topic connect-test, and the sink connector should start reading messages from the topic connect-test and write them to the file test.sink.txt. We can verify the data has been delivered through the entire pipeline by examining the contents of the output file:

在启动过程中,你会看到一些日志消息,包括一些连接器实例化的说明。
一旦kafka Connect进程已经开始,导入连接器应该读取从test.txt和写入到topic connect-test,导出连接器从主题connect-test读取消息写入到文件test.sink.txt
. 我们可以通过验证输出文件的内容来验证数据数据已经全部导出:
> cat test.sink.txt
foo
bar

Note that the data is being stored in the Kafka topic connect-test, so we can also run a console consumer to see the data in the topic (or use custom consumer code to process it):

注意,导入的数据也已经在Kafka主题connect-test里,所以我们可以使用该命令查看这个主题:
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
{"schema":{"type":"string","optional":false},"payload":"foo"}
{"schema":{"type":"string","optional":false},"payload":"bar"}
...



The connectors continue to process data, so we can add data to the file and see it move through the pipeline:

连接器继续处理数据,因此我们可以添加数据到文件并通过管道移动:
> echo "Another line" >> test.txt



You should see the line appear in the console consumer output and in the sink file.

你应该会看到出现在消费者控台输出一行信息并导出到文件。

相关文章:

ELMo:最好用的词向量(Deep contextualized word representations)论文 pdf

下载地址:https://u20150046.ctfile.com/fs/20150046-376633397 作者:Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer 论文摘要 我们提出一种新的深层语境化的词表示形式&#xff0c…

刚进园子,广州的冬天像夏天

来博客园已经有一段日子了,就好像认识朋友一样,从陌生到熟悉,虽然阅读过的博客文章还不多,但心里还是由然起敬。网络是个信息交流的工具,工具没有好坏之分,都得看用工具的人抱着什么态度。有益处的内容自然…

ava.lang.UnsatisfiedLinkError:

为什么80%的码农都做不了架构师?>>> dalvik.system.PathClassLoader[DexPathList[[zipfile"/data/app/ngdom.android.newphone-1/base.apk"], nativeLibraryDirectories[/data/app/gdom.android.newphone-1/lib/arm, /data/app/gdom.android.n…

分析与设计(AD)简介(3)

这一节主要介绍进行OOAD分析与设计所利用的工具:Visual Studio UML。

序列建模:时间卷积网络取代RNN(An Empirical Evaluation of Generic Convolutional and Recurrent)论文 pdf

下载地址:https://u20150046.ctfile.com/fs/20150046-376633283 作者:Shaojie Bai, J. Zico Kolter, Vladlen Koltun 论文摘要 对于大多数深度学习实践者来说,序列建模与循环网络是同义词。然而,最近的研究结果表明&#xff0c…

Web service到底是什么?

Web service到底是什么;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的瘦客户应用程序。这当然不是因为瘦客户能够提供更好的用户界面&#xff0…

15级团队学习成果汇报 -- 利用C#语言实现计算器

前几天与15级新加入团队的同学聊天,周日时蓝贵才代表本级汇报了这段时间所学的成果——计算器实例。 我一直对他们说:“要尽快的掌握一些C#语言的基本概念,培养对Coding的感知,后面就可以‘用以致学’,通过‘用’来发…

houdini + maya的pulldownit

houdini maya的pulldownit 制作破碎、3Dtextures等http://www.linecg.com/video/play_27502_28121.html转载于:https://www.cnblogs.com/cainiao001/p/6768831.html

探索机器学习的公平性(Delayed Impact of Fair Machine Learning)论文 pdf

下载地址:https://u20150046.ctfile.com/fs/20150046-376633160 By Lydia T. Liu, Sarah Dean, Esther Rolf, Max Simchowitz, Moritz Hardt (2018) 论文摘要 机器学习中的公平性主要是在静态的分类设置进行研究,而不考虑决策如何随时间改变基础样本总…

数据结构与算法--绪论

本图文涉及的概念: 数据结构(Data Structure)、数据(Data)、数据元素(Data Element)、数据项(Data Item)、数据逻辑结构(Logical Structure)、数…

Remove Duplicates from Sorted Array II -- LeetCode

原题链接: http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/这道题跟Remove Duplicates from Sorted Array比較类似,差别仅仅是这里元素能够反复出现至多两次,而不是一次。事实上也比較简单。仅仅须要维护一个counter。当count…

白领们注意啦:“过劳死”27个危险信号!

要想防止“过劳死”,就必须了解身体为我们发出的“过劳死”信号。日本公众卫生研究所的科研人员曾对日本“过劳死”高发现象做过详细研究,从预防角度,他们列举了27种过劳症状和因素。办公室白领饮食的十大夺命恶习 研究者认为:在…

用于高保真自然图像合成的大规模GAN训练(Large Scale GAN Training For High Fidelity Natural Images)论文 pdf

下载地址:https://u20150046.ctfile.com/fs/20150046-376632643 By Andrew Brock,Jeff Donahue,Karen Simonyan(2018) 论文摘要 尽管生成图像建模最近取得了进展,但从ImageNet等复杂数据集成功生成高分辨…

建立企业级产品测试报告体系(概述)

基本上每个制造企业都有自己定制得测试报告.这种报告通常是提供给客户作为数据参考,甚至会导入数据库进行调测使用.所以,建立统一的测试报告中心进行数据和报告的管理是有必要的.1.1测试报告体系的愿景 建立统一方便管理, 易于配置式开发的测试报告中心,为客户(包括内部)提供所…

企业IT架构转型是大势所趋

2017年4月26日,南京,我们又来了。 这一次,我们还是一如既往的火爆。但是,这一次我们有点不一样,带来了非常多新鲜的话题。一起来看看有哪些不一样吧。 在“企业级互联网架构-南京峰会”专场,阿里中间件高级…

C#语言与面向对象技术(1)

这段时间有些同学问我,怎么快速的掌握一门计算机语言。 其实,答案很简单,想想自己怎么学习母语的,就是不停的用呗。 对!就是不停的用,而且计算机语言更简单,我们的母语还会出现歧义的现象&…

IEEE 解除对华为的限制!

6 月 3 日,IEEE 中文站发布最新中英文双语声明,解除对华为员工参与编辑和审稿的限制。 IEEE 在声明中称,「目前 IEEE已收到相关说明。根据新的信息,华为及其子公司的员工可以参加 IEEE 出版过程的同行评审和编辑工作」。 IEEE 还强…

phpcms V9判断奇数偶数的实例

{pc:content action"lists" catid"$catid" order"id DESC" num"20"} {loop $data $r} {$n}.{if $n%20}偶数{else}奇数{/if} <br> {/loop} {/pc}示例:{loop $data $r} <li {if $n%20}class"cc"{/if}>{$r[title…

Windows Vista和XP系统功能大比拼

Windows Vista正式发布之后相信很多喜欢尝鲜的朋友已经体验到了微软新一代操作系统的魅力&#xff0c;在体验的同时免不了就会和使用已久的Windows XP系统做些比较&#xff0c;Vista的味道究竟如何?让我们一起来看看Alex Zaharov-Reutt对Windows Vista和Windows XP在功能方面的…

前后端分离的探索(二)

文桥&#xff0c;13级机械系学生。在LSGO软件技术团队负责前端部分&#xff0c;本图文是介绍目前流行的前后端分离技术的第二篇&#xff0c;希望大家能够对这块有所了解。 怎样才能掌握一项技能呢&#xff0c;即使你非本专业出身。老生常谈&#xff0c;就是对这项技术感兴趣&a…

【亲测有效】如何在win10上激活Burp Suite,如何注册激活Burp Suite,破解Burp Suite的详细步骤

Burp Suite是一款很实用的安全漏扫测试工具&#xff0c;是安全从业者的必备武器之一。它集成了很多使用的渗透测试工具。不仅支持自动扫描还支持手动漏扫。 本文介绍一下该工具的具体破解和激活步骤。因为网上好多文章只是简单讲了一下如何下载和非常简单的安装破解步骤&#…

.NET中获取电脑名、IP及用户名方法

.NET中获取电脑名、IP及用户名方法 在.NET中获取一台电脑名&#xff0c;IP地址及当前用户名是非常简单&#xff0c;以下是我常用的几种方法,如果大家还有其他好的方法&#xff0c;可以回复一起整理&#xff1a;1. 在ASP.NET中专用属性&#xff1a;获取服务器电脑名&#xff1a;…

C#是否该支持“try/catch/else”语法

以前用过一段时间Python&#xff0c;里面有个try/catch/else语法&#xff0c;我觉得挺好用&#xff0c;这个语法形如下&#xff1a; try:print(try...)r 10 / int(2)print(result:, r) except ValueError as e:print(ValueError:, e) except ZeroDivisionError as e:print(Zer…

C#语言与面向对象技术(2)

本图文中涉及的概念&#xff1a;类、对象、封装、继承和实例化。 重点在于对继承的理解&#xff0c;当子类被实例化时&#xff0c;暗示着其父类亦同步实例化为于内部隐藏的base对象。 核心在于子类与父类若有重名方法而带来的问题以及引出的一系列概念。

【亲测有效】如何下载和安装Resilio BTSync

【简介】 Resilio BTSync是一款基于P2P技术的快速、简单的文件传输和共享工具&#xff0c;可以让你很快的在不同设备之间实现文件同步。 既然是“文件同步工具”&#xff0c;那么最基本的“增量同步”功能&#xff0c;当然是必不可少的。同步完成之后&#xff0c;如果在“…

C#.NET 上传图片时怎样限制文件格式

在上传文件时&#xff0c;限制上传的文件为JPG,GIF格式,怎么处理&#xff1f;源代码&#xff1a;HttpPostedFile hpf UploadFile.PostedFile;try{UploadFile.Accept "images/*";UpfileName.Text hpf.FileName;FileSize.Text hpf.ContentLength.ToString();//取得文…

前后端分离的探索(三)

文桥&#xff0c;13级机械系学生。在LSGO软件技术团队负责前端部分&#xff0c;本图文是介绍目前流行的前后端分离技术的第三篇&#xff0c;希望大家能够对这块有所了解。 当我们培养了对一门技术的认知&#xff0c;并通过一系列项目对这门技术进行了打磨&#xff0c;接下来我…

ansible批量修改linux服务器密码的playbook

从网上找到批量修改Linux服务器root密码的playbook。 使用方法&#xff1a; 1、输入要修改的inventory组 2、按需要&#xff0c;在playbook中输入要修改的IP、新密码&#xff0c;如下&#xff1a; - hosts: productionremote_user: roottasks:- name: change password for root…

【亲测有效】在win10上如何安装Fortify17.10

Fortify是一款功能强大的源代码安全审计工具&#xff0c;可以进行静态代码扫描来发现源代码中的安全问题。 本文介绍一下如何在win10环境上安装Fortify17.10。 【安装包下载】 下载地址&#xff1a;Fortify17.10安装包 license下载地址&#xff1a; license下载 【环境要求】…

.NET 指南:枚举的设计

枚举提供了为强类型成员所用的常量值集合并且改进了代码可读性。枚举既可以是简单的也可以是标记。简单的枚举包含了没有在位比较操作中被组合或被使用的值。而标记枚举则是通过使用位比较操作关键字 OR 而有意被组合的。通过使用位比较操作关键字 AND 还可以对标记枚举的组合值…