Ana*_*nth 2 cassandra cassandra-2.0 apache-spark spark-cassandra-connector
Spark版本:1.4.0 Cassandra版本:2.1.8
我使用数据交换Spark Cassandra连接器来连接Spark和Cassandra.我在Spark中有6个节点,运行着6个不同的工作者.我有2个Cassandra节点来协助这个.
我尝试了一个示例应用程序来执行列族中行数的计数(CassandraUtil.javaFunctions(sc).cassandraTable("keyspace","columnfamily").count()).
现在,当我将此单个作业分派给主服务器时,作业在Spark Cluster中的2个工作节点中运行(来自事件时间轴).
问题
编辑
我添加了跑步的图片.我只有10个不同的分区.这是一个简单的计数操作.
我的猜测仍然是我的问题.
如果你看到提供的附件,我想你会得到一个想法.这是为了向我的火花大师提交一份工作.想知道它是如何在两个不同的执行器中运行的.两个执行程序都返回相同的字节数.因此,这表明两者都从cassandra获取了所有10个分区.如果这是它发生的方式,那么火花对我来说是什么?或者,我是否必须以其他方式获取它,以便由两个不同的工作者提取十个分区?
我建议您花几个小时阅读Spark和C*.我有一些我在本文底部选择的推荐材料.
我现在就谈谈你的问题:
我派了一份工作.为什么这是由两名工人完成的?是不是像一个工人在这里像大师一样?
可能与资源可用性或作业中的分区数量(可能是后者)有关.
正如Russ所说:"增加工作的并行性.尝试增加工作中的分区数量.通过将工作分成更小的数据集,在给定时间内,必须将更少的信息驻留在内存中.对于Spark Cassandra连接器这意味着减少分割大小变量."
要在1.2使用中调整此值:
spark.cassandra.input.split.size spark.cassandra.output.batch.size.rows spark.cassandra.output.batch.size.bytes
在较新的版本中,您还有:spark.cassandra.output.throughput_mb_per_sec
我发现一个工人的反序列化时间非常长.其他工人很快完成了工作(1个用了40秒,2个用了1秒).你能对此有所了解吗?
从Kay实际添加该功能到网络ui:
"相对于短期工作的任务时间,对任务进行反序列化的时间可能很长,并且了解它何时很高可以帮助开发人员意识到他们应该尝试减少闭包大小(例如,通过在任务描述中包含更少的数据)."
这两名工人似乎已经与卡桑德拉建立了联系并且已经返回了结果.因此,在我看来,两者都在做同样的工作.你能对此有所了解吗?
Spark并行工作.因为这是一种分布式计算范例,所以您可以通过启动并行工作的执行程序来利用多个节点和多个核心.两个执行程序都将从C*中提取数据,但它们会根据分区提取不同的数据.
有关详细信息,请参阅一些介绍视频.
我仍然想知道RDD的实现在哪里适合Cassandra这个分布式领域.有人可以对此有所了解吗?多个工作人员如何知道他们必须处理哪个Cassandra分区,如果它可以说,在6个工作人员之间拆分10k个分区?是这样的,抓取是由一个工人完成的,处理由其中的6个完成?即使在这种情况下,执行逻辑在所有工作者中保持不变(从Cassandra和进程中获取).Spark如何做到这一点?
每个人都将根据分区获取和处理自己的数据.
要获取有关如何分区作业的信息,请使用:
rdd.partitions
如果您正在定位Spark和Cassandra,就像在DSE中那样,您将获得数据局部性的优势(无需将数据从c*传输到spark worker).
想知道使用Spark和Cassandra的真正优势.它是在内存管理级别还是具有其他一些优势?
这里列出的内容可能太多,请参阅推荐的阅读/观看.大型打击者是批量和流式分析的SQL样式查询(连接,聚合,组合等)+使用MLLIB进行花式统计建模,使用graphx进行分析图等.
这里有一些很好的材料可以让你加快速度:
这是Russ对Spark和C*的可能性的高级演示:http: //www.slideshare.net/planetcassandra/escape-from-hadoop
来自DataBricks的Sameer的OReily网络研讨会,了解DSE如何与Spark集成:http: //www.oreilly.com/pub/e/3234
连接器如何读取数据:https: //academy.datastax.com/demos/how-spark-cassandra-connector-reads-data
关于故障排除火花的重要帖子将有助于您实际尝试获取工作.这些将回答您的大多数opps/perf问题:http://www.datastax.com/dev/blog/common-spark-troubleshooting
https://databricks.com/blog/2015/06/16/zen-and-the-art-of-spark-maintenance-with-cassandra.html
来自Sandy的两篇类似且有价值的帖子(不是c*特定的):http: //blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-1/ http ://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
归档时间: |
|
查看次数: |
1574 次 |
最近记录: |