【问题标题】:Java Vs Spark to Consume Kafka Messages [closed]Java Vs Spark 使用 Kafka 消息 [关闭]
【发布时间】:2016-11-18 20:23:18
【问题描述】:

我目前正在发展以下两种方式来消费和处理来自 Kafka Broker 的 JSON 消息

  1. Kafka -> Java 程序 -> Cassandra
  2. Kafka -> Spark 程序 -> Cassandra

同时,如果你们中的任何人以前这样做过,您能分享一下您的一两个主要观察吗?

我将在完成实验后分享我的。

谢谢

【问题讨论】:

  • 有人会说你可以用 HashMap 和良好的 GC 调优来做任何事情。我是火花迷。我相信这个问题与这个问题无关。它非常广泛,也是基于我的选择。我投票关闭它。
  • 嗨@eliasah 我知道这个问题是高层次的,但我假设每个刚开始使用 Spark 实施/学习的人都可能会遇到同样的疑问,如果可能的话,请尝试分享你的一些知识请让其他人通过保持问题开放来帮助我/任何新的火花学习者。谢谢。
  • 我相信基准测试是确定选择的好方法。
  • 嗨 @eliasah,感谢您的想法,我做了基准测试,发现 Spark 套件更适合我们的要求。
  • 感谢您分享您的反馈!

标签: java apache-spark cassandra apache-kafka spark-streaming


【解决方案1】:

如果您需要处理您的 JSON 消息以:

  • 水平缩放和
  • 抽象出分布式/并行处理的困难

那么 Spark 程序是正确的选择。如果它是一个永远不会有大数据量的简单程序,那么 java 程序是正确的选择。

【讨论】:

  • 您好,谢谢您的回答。在 Java 和 Spark 的情况下,您能否详细说明一下并行处理的线程数?我假设在 Java 的情况下只有一个线程处理所有消息,而在 Spark 流的情况下,将启动与执行程序一样多的 JVM 并并行处理数据,如果我的理解正确,请您纠正 - 谢谢。
  • 正确,可以指定要处理多少数据。 Spark 比自己编写线程安全的并行处理代码要容易得多。
猜你喜欢
  • 2020-01-11
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 2018-06-25
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多