我有一个大的Cassandra表格。我想从Cassandra中仅加载50行。
以下是代码:
val ds = sparkSession.read
.format("org.apache.spark.sql.cassandra")
.options(Map("table" -> s"$Aggregates", "keyspace" -> s"$KeySpace"))
.load()
.where(col("aggregate_type") === "DAY")
.where(col("start_time") <= "2018-03-28")
.limit(50).collect()
以下代码使用了
where
方法的两个谓词,但没有使用limit
方法。这样查询是否会获取全部数据(100万条记录)?如果不是,为什么加上limit(50)
后代码的运行时间和未加限制的代码相差无几。
asInstanceOf[CassandraRDD]
,其中专门定义了适用于CQL的“limit”方法。请参见编辑后的答案。 - dk14