小编Ana*_*nth的帖子

卡桑德拉的原子批次

批量陈述是什么意思在cassandra中是原子的?文件在性质上有点令人困惑,准确无误.这是否意味着查询在群集中的节点之间是原子的?

比方说,我有一个包含100个查询的批处理.如果批处理中的第40个查询失败,那么批处理中执行的39个查询会发生什么?

我知道在引擎盖下创建了一个批处理日志,它将处理部分批处理的一致性.它是否删除了39个条目中的其余条目并提供批处理查询所需的原子性质.

在MYSQL中,我们将autocommit设置为false,因此我们可以回滚.那些情况下cassandra会回滚吗?

batch-processing cassandra datastax-java-driver cassandra-2.0

6
推荐指数
1
解决办法
5604
查看次数

Datastax驱动程序限制选项

我使用datastax java驱动程序构造一个select查询.我使用限制选项设置限制.但我看到另一个属性也可以设置

setFetchSize(int size)

DEFAULT_FETCH_SIZE- 5000根据文档.

http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/QueryOptions.html#DEFAULT_FETCH_SIZE

这是否意味着如果我连续有大约10000列,如果我有一个限制为3的查询运行,它将始终获取指定的默认值 - 5000行,然后限制最后3行?

我认为限制查询默认情况下在默认情况下单独获取最后3个值.有人可以澄清一下吗?

cassandra cassandra-cli datastax-java-driver

2
推荐指数
1
解决办法
5130
查看次数

如何在Spark中分配工作

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个工作节点中运行(来自事件时间轴).

问题

  1. 我派了一份工作.为什么这是由两名工人完成的?是不是像一个工人在这里像大师一样?
  2. 我发现一个工人的反序列化时间非常长.其他工人很快完成了工作(1个用了40秒,2个用了1秒).你能对此有所了解吗?
  3. 这两名工人似乎已经与卡桑德拉建立了联系并且已经返回了结果.因此,在我看来,两者都在做同样的工作.你能对此有所了解吗?
  4. 我仍然想知道RDD的实现在哪里适合Cassandra这个分布式领域.有人可以对此有所了解吗?多个工作人员如何知道他们必须处理哪个Cassandra分区,如果它可以说,在6个工作人员之间拆分10k个分区?是这样的,抓取是由一个工人完成的,处理由其中的6个完成?即使在这种情况下,执行逻辑在所有工作者中保持不变(从Cassandra和进程中获取).Spark如何做到这一点?
  5. 想知道使用Spark和Cassandra的真正优势.它是在内存管理级别还是具有其他一些优势?

编辑

在此输入图像描述

我添加了跑步的图片.我只有10个不同的分区.这是一个简单的计数操作.

我的猜测仍然是我的问题.

如果你看到提供的附件,我想你会得到一个想法.这是为了向我的火花大师提交一份工作.想知道它是如何在两个不同的执行器中运行的.两个执行程序都返回相同的字节数.因此,这表明两者都从cassandra获取了所有10个分区.如果这是它发生的方式,那么火花对我来说是什么?或者,我是否必须以其他方式获取它,以便由两个不同的工作者提取十个分区?

cassandra cassandra-2.0 apache-spark spark-cassandra-connector

2
推荐指数
1
解决办法
1574
查看次数