首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark Cassandra性能问题

Spark Cassandra性能问题
EN

Stack Overflow用户
提问于 2015-11-10 03:49:53
回答 3查看 334关注 0票数 0

我是Spark和Cassandra的新手。我面临着一个主要的性能问题,我在Spark中每隔5秒流式传输来自Kafka的数据,然后使用JRI对R语言中的数据进行分析,最后将数据保存到Cassandra各自的列族中。将数据保存到Cassandra的持续时间(以毫秒为单位)随着输入请求的数量增加非常快,每个请求为200KB。

Spark代码:

代码语言:javascript
复制
 sessionData.foreachRDD(new Function<JavaRDD<NormalizedData>, Void>() {
    public Void call(JavaRDD<NormalizedData> rdd)     {
System.out.println("step-3 " + System.currentTimeMillis());
javaFunctions(rdd).writerBuilder("keyspace",normalized_data",mapToRow(NormalizedData.class)).saveToCassandra();
System.out.println("step-4 " + System.currentTimeMillis());}}
EN

回答 3

Stack Overflow用户

发布于 2016-01-09 10:21:30

我可以通过在同一台服务器上使用Spark和Cassandra来提高性能。这个延迟是因为Spark和Cassandra在不同的服务器上,尽管在AWS上处于相同的区域。网络延迟是影响数据局部性的主要原因。谢谢。

票数 0
EN

Stack Overflow用户

发布于 2017-05-13 01:55:21

您可以参考此blog进行Spark-Cassandra连接器调优。你将会对你所期望的性能数字有一个概念。您还可以尝试另一个开源产品SnappyData,它是Spark数据库,它将在您的用例中为您提供非常高的性能。

票数 0
EN

Stack Overflow用户

发布于 2017-05-13 02:32:47

我还使用Cassandra Spark组合来进行实时分析。以下是一些最佳实践:

  1. Data Locality-如果是Spark standalone,则使用工作节点运行Cassandra守护进程;如果是Yarn,则使用节点管理器运行Cassandra守护进程],如果是并行工作进程,则使用Mesos Worker,即创建更多的Cassandra连接池,以提高吞吐量

在您的例子中,您将使用

在side Java中调用R。这是一个有点慢和性能开销。因此,使用SparkR将R与Spark集成,而不是直接使用JRI。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33617071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档