如何使用 spark-connector-api 在 where 子句中设置 blob 列?
How to set a blob column in the where clause using spark-connector-api?
我想知道如何在 where 子句下设置 blob 列。有什么想法吗?
例如,如果我在 cqlsh 中输入以下查询,它就可以工作
select * from hello where id=0xc1c1795a0b;
//id是cassandra中的一个blob列
我尝试了以下方法
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?", "0xc1c1795a0b");
这给了我一个类型转换器异常
我试过了
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?", "0xc1c1795a0b".getBytes());
这没有给我任何错误,但是 return 没有结果。我的 cqlsh 中的查询做了 return 一堆结果。所以我不确定在 where 子句中设置一个 blob。我正在使用 Java。有什么想法吗?
使用这个。
import com.datastax.driver.core.utils.Bytes;
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?",Bytes.getArray(Bytes.fromHexString("0xc1c1795a0b")));
我想知道如何在 where 子句下设置 blob 列。有什么想法吗?
例如,如果我在 cqlsh 中输入以下查询,它就可以工作
select * from hello where id=0xc1c1795a0b;
//id是cassandra中的一个blob列
我尝试了以下方法
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?", "0xc1c1795a0b");
这给了我一个类型转换器异常
我试过了
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?", "0xc1c1795a0b".getBytes());
这没有给我任何错误,但是 return 没有结果。我的 cqlsh 中的查询做了 return 一堆结果。所以我不确定在 where 子句中设置一个 blob。我正在使用 Java。有什么想法吗?
使用这个。
import com.datastax.driver.core.utils.Bytes;
JavaRDD<CassandraRow> cassandraRowsRDD = javaFunctions(sc).cassandraTable("test", "hello")
.select("range" )
.where("id=?",Bytes.getArray(Bytes.fromHexString("0xc1c1795a0b")));