使用 Kafka 进行批量作业替换
Using Kafka for batch job replacement
我是 Kafka 的新手。想探索使用 Kafka 替换我们当前使用的批处理作业系统的可能性。
当前系统:
我们每天使用 FTPS、SFTP、电子邮件、文件共享等从外部供应商那里获得大量平面文件(CSV、JSON、TXT 和二进制)的提要。我很惭愧地说,目前所有逻辑都驻留在存储过程和 vbscript 中。我正在尝试使用 Apache Kafka 对整个管道进行现代化改造以摄取所有这些提要。我探索了 Kafka,发现我可以为此目的使用 Kafka Connect、KSQL 和 SpoolDir 连接器,但是我不太清楚如何去做。
问题:
我想要设备系统,其中我能够使用 Kafka 摄取所有传入的平面文件(前面提到的平面文件)。我知道我们可以使用 Kafka 连接器和 KSQL 或 Streaming API 来实现这一点。我不清楚的部分是如何使用 Kafka 将其变成重复性任务。就像每天早上我在特定文件夹中获取平面文件提要一样,我如何使用 Kafka 自动执行此过程,例如在一天中的特定时间和每天安排读取文件?我是否需要任何类型的服务(windows 服务或 cron 作业)来持续关注文件夹以查看传入文件并进行处理?有什么合理的解决办法吗?
请注意,Kafka 不适用于文件传输。您可以提取有关文件的数据(例如,位置和大小,或从中提取数据以生成而不是整个文件),但您会希望在其他地方存储和处理它们的全部内容
Spooldir 连接器将适用于本地文件系统,但不适用于 FTP。为此,还有另一个 kafka-connect-fs
项目
但是,我通常建议将 Apache Nifi ListenFTP 处理器与 ProduceKafka 操作结合使用,以实现类似的效果。
Nifi 也有 Email (IMAP/POP3) 和 NFS/Samba (fileshare) getters 可以调度,它处理大文件比 Kafka 好得多。
KSQL 和 Streams API 只有当数据在 Kafka 中时才有效
我是 Kafka 的新手。想探索使用 Kafka 替换我们当前使用的批处理作业系统的可能性。 当前系统: 我们每天使用 FTPS、SFTP、电子邮件、文件共享等从外部供应商那里获得大量平面文件(CSV、JSON、TXT 和二进制)的提要。我很惭愧地说,目前所有逻辑都驻留在存储过程和 vbscript 中。我正在尝试使用 Apache Kafka 对整个管道进行现代化改造以摄取所有这些提要。我探索了 Kafka,发现我可以为此目的使用 Kafka Connect、KSQL 和 SpoolDir 连接器,但是我不太清楚如何去做。
问题: 我想要设备系统,其中我能够使用 Kafka 摄取所有传入的平面文件(前面提到的平面文件)。我知道我们可以使用 Kafka 连接器和 KSQL 或 Streaming API 来实现这一点。我不清楚的部分是如何使用 Kafka 将其变成重复性任务。就像每天早上我在特定文件夹中获取平面文件提要一样,我如何使用 Kafka 自动执行此过程,例如在一天中的特定时间和每天安排读取文件?我是否需要任何类型的服务(windows 服务或 cron 作业)来持续关注文件夹以查看传入文件并进行处理?有什么合理的解决办法吗?
请注意,Kafka 不适用于文件传输。您可以提取有关文件的数据(例如,位置和大小,或从中提取数据以生成而不是整个文件),但您会希望在其他地方存储和处理它们的全部内容
Spooldir 连接器将适用于本地文件系统,但不适用于 FTP。为此,还有另一个 kafka-connect-fs
项目
但是,我通常建议将 Apache Nifi ListenFTP 处理器与 ProduceKafka 操作结合使用,以实现类似的效果。
Nifi 也有 Email (IMAP/POP3) 和 NFS/Samba (fileshare) getters 可以调度,它处理大文件比 Kafka 好得多。
KSQL 和 Streams API 只有当数据在 Kafka 中时才有效