Kafka与StreamSets比较

10

我正在阅读有关Kafka和StreamSets的文章,我的理解如下:

  1. Kafka充当生产者系统和订阅者之间的代理。生产者将数据推入Kafka集群,订阅者从Kafka中拉取数据。

  2. StreamsSets是一种通过管道将数据从一个源移动到另一个源的技术。

现在,以下是我的问题,请帮忙澄清:

  1. Kafka和StreamSets之间的根本区别是什么?是Kafka不移动数据而StreamSets移动数据吗?

  2. 如果Kafka不移动数据,那么Kafka有什么用途?如果它像ETL解决方案一样移动数据,它与SSIS、Informatica等工具有何不同?

  3. StreamSets与SSIS、Informatica等工具有何不同?

1. Kafka和StreamSets的根本区别在于它们的目的不同。 Kafka是一个消息代理,用于在生产者和消费者之间传递消息。 StreamSets是一种数据集成工具,用于将数据从一个系统移动到另一个系统。
2. 虽然Kafka本身不移动数据,但它可以在不同的系统之间传递数据,因此它通常用于构建实时数据管道。与传统的ETL工具(如SSIS和Informatica)不同,Kafka不需要将所有数据存储在一个地方,而是可以在数据到达时立即处理它们。
3. StreamSets是一种专门用于数据集成的工具,它提供了许多用于移动、转换和处理数据的功能。与SSIS和Informatica等工具相比,StreamSets更加轻量级且易于使用,而且可以快速部署和管理。
3个回答

8

StreamSets是一个图形化工具,其中包含了允许数据移动的组件,包括Kafka生产者和消费者,但不需要使用它们。

它们是互补的,通过使用Kafka,您可以在流式系统中实现反压或让非StreamSets生产者/消费者与其他Kafka主题交互。不,Kafka不会移动数据(除了内部复制),与代理交互的客户端会移动数据。

我没有使用过Informatica或SSIS,但如果您联系StreamSets的某个人,他们可以回答它们如何进行比较。


4
在StreamSets中,我们大部分时间都创造“数据管道”,将管道看作是一个包含多个步骤/任务的应用程序,第一步可以从数据库或Kafka等任意数量的数据源读取数据,第二步可以修改数据,第三步可以运行脚本...最后它可以将经过转换的数据保存到目标位置,目标可以是数据库或任何其他云存储。因此,Kafka和StreamSets可以一起工作,StreamSets可以从Kafka读取数据并向其写入数据。
我认为Kafka是一个汇集来自多个来源的数据,并为消费者提供一定时间的可用性的地方。例如,Kafka可以周期性地从数据库表中读取并将更改存储在“主题”中,周期性地从Web服务中读取并将此数据存储在另一个主题中。这些主题现在对消费者可用,开发人员现在可以创建一个应用程序,从第一个主题中读取数据并对数据执行某些操作,Kafka可以使用偏移量跟踪消费者读取了什么,并提供复制和其他选项。它消除了编写集成多个来源和目标的自定义代码的需要,而是可以配置此部分。
StreamSets可以从Kafka读取和写入数据。StreamSets不会将数据存储在其自己的系统中,而Kafka将数据存储一段可配置的时间。
SSIS与StreamSets类似,它用于创建由多个任务组成的管道/包,每个任务可以获取前面任务的数据/结果,然后对其执行某些操作。StreamSets和SSIS都可以连接到许多种数据源和目标。
我个人认为StreamSets和SSIS之间的区别在于:
- StreamSets基于Web,而SSIS需要使用Visual Studio;StreamSets GUI易于使用,并且不需要为每个开发人员安装特殊软件。 - 使用源代码控制将StreamSets管道部署到生产环境比SSIS包更容易。 - SSIS是微软产品,因此与其他微软产品集成非常好。StreamSets可以安装在任何平台上,这使它非常适合AWS云。 - 如果要编写SSIS脚本任务,则必须使用C#/DotNet。StreamSets脚本任务可以使用Jython和JavaScript编写。 - SSIS较旧,有大量在线文档。

0

感谢大家,我认为需要分享一些关于如何看待 Kafka 和 Streamset 之间的规范的想法,如果我们在同一集群中同时使用它们,那么我们该如何区分。

“因为我们正在使用 Kafka 的可靠性和Streamset的简单性”

  1. Streamset消除了生产者和消费者的编码开销
  2. Streamset用于1个源和1个目的地
  3. Kafka从多个源接收数据并传输到多个目的地(发布-订阅方法)
  4. Streamset消除了数据漂移问题

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接