Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 用于消费消息文本文件的Kafka_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Apache kafka 用于消费消息文本文件的Kafka

Apache kafka 用于消费消息文本文件的Kafka,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我需要订阅实时消息文件,这些文件可能是在发布子模型的客户端已经存在的MQ设置中发布的。当我订阅MQ的主题以接收消息文件时,我是否应该使用Kafka仅获取文件,然后使用任何首选API(如Python)处理它们并存储在我的文件系统中?我希望安装如下所示:- 客户的MQ-->Kafka安装文件系统 当文件发布到Kafka时,我是否应该使用Python与Kafka代理进行对话,以接收文件进行进一步处理 注意:我不希望消息文件内容在不同的分区中被破坏。相反,我希望发布和使用完整的文件。卡夫卡以K,V格式存

我需要订阅实时消息文件,这些文件可能是在发布子模型的客户端已经存在的MQ设置中发布的。当我订阅MQ的主题以接收消息文件时,我是否应该使用Kafka仅获取文件,然后使用任何首选API(如Python)处理它们并存储在我的文件系统中?我希望安装如下所示:-

客户的MQ-->Kafka安装文件系统

当文件发布到Kafka时,我是否应该使用Python与Kafka代理进行对话,以接收文件进行进一步处理


注意:我不希望消息文件内容在不同的分区中被破坏。相反,我希望发布和使用完整的文件。

卡夫卡以K,V格式存储消息。具有相似密钥的所有消息将被推送到同一分区中。分区也可以有具有不同密钥的消息。但只要您的制作者使用一致密钥(即文件名)推送文件的数据,它就会存储在单个分区中


现在,您可以使用任何编程语言将消息推送到卡夫卡。但是,我建议您使用Java。这是因为,Kafka的所有最新特性都将立即提供给Java客户机。据我所知,卡夫卡python内部依赖于librdkafka库,该库不久将发布具有最新功能的新版本。

kafka以K,V格式存储消息。具有相似密钥的所有消息将被推送到同一分区中。分区也可以有具有不同密钥的消息。但只要您的制作者使用一致密钥(即文件名)推送文件的数据,它就会存储在单个分区中

现在,您可以使用任何编程语言将消息推送到卡夫卡。但是,我建议您使用Java。这是因为,Kafka的所有最新特性都将立即提供给Java客户机。据我所知,kafka python内部依赖于librdkafka库,该库很快将发布具有最新特性的新版本

我希望发布和使用完整的文件

卡夫卡不是用来传递文件的。。。它的默认最大消息大小仅为1MB,并且将其设置为远高于5MB,这只会使代理连接和存储过载

相反,您应该设置一个共享文件系统,如FTP、NAS、HDFS、S3等,然后仅通过Kafka发送文件的URI,然后在您读取消费者中的消息后连接到此文件系统。然后您就有了小消息,不需要处理分区和排序,因为您只需要引用存储整个文件的外部系统

我是否应该使用Python与Kafka broker对话以接收文件以进行进一步处理

任何语言都可以

我希望发布和使用完整的文件

卡夫卡不是用来传递文件的。。。它的默认最大消息大小仅为1MB,并且将其设置为远高于5MB,这只会使代理连接和存储过载

相反,您应该设置一个共享文件系统,如FTP、NAS、HDFS、S3等,然后仅通过Kafka发送文件的URI,然后在您读取消费者中的消息后连接到此文件系统。然后您就有了小消息,不需要处理分区和排序,因为您只需要引用存储整个文件的外部系统

我是否应该使用Python与Kafka broker对话以接收文件以进行进一步处理


任何语言都可以

谢谢你的评论。。。在IBM MQ这样的传统MQ系统中,我的完整文件交付需求是否可能?我只有Kafka方面的经验。但我还是不建议这样做,因为这样会造成更多的网络开销。谢谢你的评论。。。在IBM MQ这样的传统MQ系统中,我的完整文件交付需求是否可能?我只有Kafka方面的经验。但我还是不建议这样做,因为这样会导致更多的网络开销。