为了将日志数据获取到我的业务逻辑(在 Spark 中定义),在 Logstash 和 Spark Streaming 之间使用 Apache Kafka 是否正确?
Is it right to use Apache Kafka between Logstash and Spark Streaming in order to get the log data to my business logic (defined in Spark)?
我正在使用 Logstash 将我们的日志数据发送到 AWS 中的 Elasticsearch 服务。现在我在 Spark Streaming 中定义了一些业务逻辑,我想实时应用于日志数据,所以我正在考虑在中间使用 Amazon SQS 或 Apache Kafka。
在这种情况下使用 Kafka 是否正确?
谢谢。
答案取决于您是否愿意将您的解决方案与亚马逊产品相结合?但是是的,kafka 非常适合这种用法。
其实现在ELK栈是用Kafka代替Redis的。此外,Spark Streaming 强烈依赖 Kafka 能够在发生故障时重放消息。
这取决于您的业务逻辑,但如果您仅使用 Spark Streaming 在插入到 Elasticsearch 之前过滤和转换数据,您应该看看 KafkaStreams。
KafkaStreams 提供了一种优雅的 DSL(la Spark)来操作您的 Kafka 消息(转换、过滤器、聚合),而无需部署 master/worker 个节点的集群。
我正在使用 Logstash 将我们的日志数据发送到 AWS 中的 Elasticsearch 服务。现在我在 Spark Streaming 中定义了一些业务逻辑,我想实时应用于日志数据,所以我正在考虑在中间使用 Amazon SQS 或 Apache Kafka。
在这种情况下使用 Kafka 是否正确?
谢谢。
答案取决于您是否愿意将您的解决方案与亚马逊产品相结合?但是是的,kafka 非常适合这种用法。
其实现在ELK栈是用Kafka代替Redis的。此外,Spark Streaming 强烈依赖 Kafka 能够在发生故障时重放消息。
这取决于您的业务逻辑,但如果您仅使用 Spark Streaming 在插入到 Elasticsearch 之前过滤和转换数据,您应该看看 KafkaStreams。
KafkaStreams 提供了一种优雅的 DSL(la Spark)来操作您的 Kafka 消息(转换、过滤器、聚合),而无需部署 master/worker 个节点的集群。