我有一种情况,我希望"迭代"或映射"宽行"而不是使用SparkSQL的逻辑Cassandra行(CQL行)。
基本上我的数据由timestamp
(分区键)分区,并且有一个聚类键,它是传感器ID。
对于我希望执行操作的每个timestamp
,一个简单的例子是sensor1/sensor2
。
我如何通过保持数据位置来有效地使用SparkSQL(我认为我的数据模型非常适合这些任务)?
我看过this post on Datastax,其中提到了Cassandra连接器中的spanBy
和spanByKey
。如何与SparkSQL一起使用?
伪代码示例(pySpark):
ds = sqlContext.sql("SELECT * FROM measurements WHERE timestamp > xxx")
# span the ds by clustering key
# filter the ds " sensor4 > yyy "
# for each wide-row do sensor4 / sensor1
答案 0 :(得分:1)
现在不可能。只能从程序化API访问spanBy
API。要在SparkSQL中启用它,需要扩展SparkSQL语法以注入额外的子句,这很难......