以Kafka Connect作为实时数据集成平台的基础架构有什么优势?

hugotu 发表了文章 • 0 个评论 • 88 次浏览 • 2018-05-11 16:36 • 来自相关话题


作者:DataPipeline公司CTO陈肃,如有问题欢迎沟通。
 
Kafka Connect是一种用于在Kafka和其他系统之间可扩展的、可靠的流式传输数据的工具,可以更快捷和简单地将大量数据集合移入和移出Kafka的连接器。Kafka Connect为DataPipeline提供了一个相对成熟稳定的基础框架,还提供了一些开箱即用的工具,大大地降低研发的投入和提升应用的质量。

下面,我们看一看Kafka Connect的具体优势。
首先,Kafka Connect提供的是以数据管道为中心的业务抽象。在Kafka Connect里有两个核心概念:Source和Sink。Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。比如Source Connector,Sink Connector,其实就是提供了数据读取和写入的高度业务抽象,可以简化很多生命周期的管理工作。

当然,Source Connector会去初始化Source Task,Sink Connector会去初始化Sink Task。这些都是标准的封装。对于数据方面,通过Source & Sink Record把数据的结构进行标准化的抽象。另外,企业客户在做数据集成的时候,数据在很多应用场景下都要求有一定的格式,所以在Kafka Connect里用Schema Registry & Projector来解决数据格式验证和兼容性的问题。当数据源产生变化的时候,会生成新的Schema版本,通过不同的处理策略用Projector来完成对数据格式的兼容。

备注:更多关于Kafka Connect及实时数据集成的问题,欢迎给我留言或直接访问官方网址:www.datapipeline.com。 

第二,Kafka Connect具有良好的可伸缩性、与容错性。这些特性是与Kafka是一脉相承的。在流式处理和批量处理模式里,更多取决于Source端如何去读取数据,Kafka Connect天然支持流式处理和批量传输方式。单节点和集群水平扩展功能都是由Kafka Connect框架直接支持。而任务恢复和状态保持方面,目的端任务的写入进度信息通过Kafka Connect框架自动管理、源端任务可以根据需要往Kafka里面放读取进度信息,节省很多精力去管理任务重启后的进度。

对于数据集成这样一个通用的应用场景里,大家肯定都不希望重复发明轮子。目前,在Kafka Connect生态系统下,拥有可以直接使用的Connector共84个,绝大部分都是开源的。其中,一部分是Kafka官方提供的,另外一些是Confluent认证的,还有一些是第三方提供的。根据需求适当裁剪后,这些Connector都可以应用到自己的系统平台中。
 
 

kafka 输出接口的疑问

回复

chen31577 发起了问题 • 1 人关注 • 0 个回复 • 112 次浏览 • 2018-03-22 11:08 • 来自相关话题

一个仿Linux 控制台的ES的_cat的插件

psfu 发表了文章 • 3 个评论 • 383 次浏览 • 2017-10-16 10:31 • 来自相关话题

00-console.png

  • 简化_cat使用,可以直接输入 cat 命令 ,可以滚动查看历史结果
  • 支持字体放大缩小
  • 支持命令历史记录(通过上下方向键来切换 )
  • 支持鼠标划取的复制粘贴(暂不复制到剪贴板)
  • 安装后在 http://127.0.0.1:9200/_console  使用,也可本地使用:直接访问html文件

 
GIT 地址
 
欢迎加 576037940 这个群讨论哈
 

Kibana 新的可视化插件:Vega

medcl 发表了文章 • 4 个评论 • 3214 次浏览 • 2017-07-18 09:44 • 来自相关话题

Vega:
https://vega.github.io/vega/examples/
 
Vega是什么?
相比其他第三方可视化库,Vega的目的是让你更快将数据进行展现,vega通过声明的方式可以快速将你的数据进行各种格式化,而不用纠结于具体的调用细节,和SQL这种通用式交互语言类似,数据的输入是JSON。

Snip20170718_1.png

 
Vega的Kibana插件下载地址:
https://github.com/nyurik/kibana-vega-vis/releases
 
安装之后,就能在可视化类型里面选择Vega了,使用起来很简单,输入相应的描叙语言,如:
{
"$schema": "https://vega.github.io/schema/ ... ot%3B,
"description": "A simple bar chart with embedded data.",
"width": 300, "height": 200, "padding": 5,
"data": {
"values": [
{"a": "A","b": 28}, {"a": "B","b": 55}, {"a": "C","b": 43},
{"a": "D","b": 91}, {"a": "E","b": 81}, {"a": "F","b": 53},
{"a": "G","b": 19}, {"a": "H","b": 87}, {"a": "I","b": 52}
]
},
"mark": "bar",
"encoding": {
"x": {"field": "a", "type": "ordinal"},
"y": {"field": "b", "type": "quantitative"}
}
}
Vega支持各种可视化类型,更多详情请参照文档和例子:
https://vega.github.io/vega-li ... k-def
https://vega.github.io/vega/examples/
https://github.com/nyurik/kiba ... -demo