【发布时间】:2016-05-25 08:51:05
【问题描述】:
我的 Cassandra 架构包含一个表,其分区键是时间戳,parameter 列是集群键。
每个分区包含 10k+ 行。这是以每秒 1 个分区的速度记录数据。
另一方面,用户可以定义“数据集”,我有另一个表,其中包含作为分区键的“数据集名称”和一个集群列,该列是引用另一个表的时间戳(因此是“数据集”是一个分区键列表)。
当然,我想做的事情看起来像是 Cassandra 的反模式,因为我想加入两个表。
但是使用 Spark SQL,我可以运行这样的查询并执行 JOIN。
SELECT * from datasets JOIN data
WHERE data.timestamp = datasets.timestamp AND datasets.name = 'my_dataset'
现在的问题是:Spark SQL 是否足够智能以仅读取与datasets 中定义的timestamps 对应的data 的分区?
【问题讨论】:
标签: apache-spark cassandra apache-spark-sql