假设我有一个 RDD[Foo] 哪里 case class Foo(bar: String, baz: Int) 我有一张卡桑德拉的表,有一个分区键 bar 和群集密钥 baz
RDD[Foo]
case class Foo(bar: String, baz: Int)
bar
baz
现在,我尝试将RDD与该表连接起来,并对集群键进行一些筛选:
rdd.joinWithCassandraTable("my_keyspace", "foo_table").where("baz < ???")
我应该用什么来代替 ??? 访问 巴兹 财产 RDD ?
???
巴兹
RDD
我希望获得与以下伪sql相同的结果:
select * from my_keyspace.foo_table ct join rdd on ct.bar = rdd.bar where ct.baz < rdd.baz
where 用于cassandra查询中嵌入的静态谓词。它不能用于基于 RDD .
where
为此,你必须使用标准 filter (因此将选择移动到火花侧)。
filter