如何使用 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")));