使用cassandra进行火花的正确设置是什么

时间:2018-02-05 22:53:22

标签: apache-spark cassandra spark-cassandra-connector

在使用和玩弄火花连接器之后,我想以最有效的方式利用它来进行批量处理。

是在Cassandra节点所在的同一主机上设置spark worker的正确方法吗?火花连接器能确保数据的位置吗?

我有点担心内存密集型的spark工作程序会导致整个机器停止,然后我将失去一个Cassandra节点,所以我有点困惑我是否应该将工作者放在Cassandra节点上,或者分开(这意味着没有数据位置)。什么是常见的方式,为什么?

1 个答案:

答案 0 :(得分:3)

这取决于您的特定用例。有些事情要注意

1)CPU共享,而Spark和Cassandra之间不会共享内存(堆将是独立的)。没有什么可以阻止火花执行器在C * cpu核心上偷走时间。如果火花过程非常密集,这可能导致C *的负载和减速。如果不是,那么这不是一个大问题。

2)您的网络速度,如果您的网络速度非常快,那么与低速网络相比,本地化的价值要低得多。

所以你必须问自己,你想要一个更简单的设置(一切都在一个地方),或者你想要一个复杂的设置,但更加孤立。

例如DataStax(我工作的公司)默认使用与Cassandra共存的Spark运行,但我们也提供单独运行的选项。我们的大多数用户可能因为此默认设置而共处,因为更容易扩展,通常不会这样做。