小编107*_*107的帖子

使用IN子句过滤Spark Cassandra连接器

我在使用针对Java的Spark cassandra连接器筛选时遇到了一些问题。Cassandra允许使用IN子句按分区键的最后一列进行过滤。例如

create table cf_text
(a varchar,b varchar,c varchar, primary key((a,b),c))

Query : select * from cf_text where a ='asdf' and b in ('af','sd');

sc.cassandraTable("test", "cf_text").where("a = ?", "af").toArray.foreach(println)
Run Code Online (Sandbox Code Playgroud)

我如何指定在spark的CQL查询中使用的IN子句?如何也可以指定范围查询?

java cql cassandra apache-spark spark-cassandra-connector

3
推荐指数
1
解决办法
3348
查看次数

Datastax Cassandra c#驱动程序不通过批处理插入数据

我一直在尝试使用批处理cassandra c#驱动程序将数据插入cassandra键空间.使用批处理插入100行.编码工作正常但是当我检查列族时没有数据.如果有人知道,请建议为什么数据插入不起作用?如果有任何异常,为什么catch无法获得该异常?通过cqlsh命令行插入数据时没有问题.

private static void InsertData(ISession session, List<cf_Data> lsData)
    {
        try
        {
            var table = session.GetTable<cf_Data>();
            table.CreateIfNotExists();

            int count = 0;
            var batch  =session.CreateBatch();;
            foreach (cf_Data val in lsData)
            {
                try
                {
                    if (((count) % 100) == 1)
                    {
                       batch = session.CreateBatch();
                    }
                    batch.Append(table.Insert(val)); 
                    if (count % 100 == 0)
                    {
                        batch.Execute();   
                    }
                }
                catch (Exception)
                {
                    throw;
                }
                count++;
            }
        }
        catch (Exception)
        {
            throw;
        }
    }
Run Code Online (Sandbox Code Playgroud)

为了将C#类映射到Cassandra Column Family,使用了Cassandra.Mapper命名空间.Mapper类代码:

[AllowFiltering]
[Table("cf_Data ")]
internal class cf_Data 
{
    [PartitionKey]
    public …
Run Code Online (Sandbox Code Playgroud)

c# cassandra

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