我使用Kafka进行消息队列/处理。我的问题是关于绩效/最佳实践。我会做自己的性能测试,但也许有人已经有了成果/经验。
数据在Kafka(0.10)主题中是原始的,我想将其结构化为ES和HDFS。
现在我看到了两种可能性:
没有任何测试,我会说第二种选择更好/更清洁,更可靠?
答案 0 :(得分:1)
Logstash用于将数据导入Elasticsearch的“最佳实践”。但是,WebHDFS不会具有作为Kafka Connect插件一部分的Java API的原始性能。
Grok可以在Kafka Streams进程中完成,因此您可以在任一位置进行解析。
如果您使用的是Elastic订阅,则他们想出售Logstash。 Confluent希望出售Kafka Streams + Kafka Connect。
Avro似乎是进行数据传输的最佳媒介,而Schema Registry是一种流行的方式。 IIUC,Logstash不能与Schema Registry或Avro配合使用,它更喜欢JSON。
在Hadoop领域,我将提供Apache Nifi或Streamsets的中间选项。
最后,这实际上取决于您的优先级,以及您(和您的团队)对这些工具的支持程度。