代码之家  ›  专栏  ›  技术社区  ›  jfu

Spark Cassandra连接器-在条件允许的情况下访问RDD

  •  0
  • jfu  · 技术社区  · 7 年前

    假设我有一个 RDD[Foo] 哪里 case class Foo(bar: String, baz: Int) 我有一张卡桑德拉的表,有一个分区键 bar 和群集密钥 baz

    现在,我尝试将RDD与该表连接起来,并对集群键进行一些筛选:

    rdd.joinWithCassandraTable("my_keyspace", "foo_table").where("baz < ???")
    

    我应该用什么来代替 ??? 访问 巴兹 财产 RDD ?

    我希望获得与以下伪sql相同的结果:

    select * from my_keyspace.foo_table ct
    join rdd
    on ct.bar = rdd.bar
    where ct.baz < rdd.baz
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   user9924398    7 年前

    where 用于cassandra查询中嵌入的静态谓词。它不能用于基于 RDD .

    为此,你必须使用标准 filter (因此将选择移动到火花侧)。