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