如何从Cassandra表中加载行作为Spark中的Dataframe?

har*_*der 0 scala cassandra apache-spark spark-cassandra-connector

我可以将整个Cassandra表加载为如下数据帧

val tableDf = sparkSession.read
      .format("org.apache.spark.sql.cassandra")
      .options(Map( "table" -> table, "keyspace" -> keyspace))
      .load()
Run Code Online (Sandbox Code Playgroud)

但我找不到通过主键获取行的方法,比如

select * from table where key = ''
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

und*_*ble 6

val tableDf = sparkSession.read
      .format("org.apache.spark.sql.cassandra")
      .options(Map( "table" -> table, "keyspace" -> keyspace))
      .load()
      .filter("key='YOUR_KEY'")
Run Code Online (Sandbox Code Playgroud)

使用此spark-cassandra-connector将使用谓词下推并仅获取所需数据.

Dataframes和Predicate下推