0

我有一種情況,我想用迭代或映射到「wide-rows」而不是使用SparkSQL的邏輯Cassandra行(CQL行)。SparkSQL跨越Cassandra邏輯行

基本上我的數據被分區爲timestamp(分區鍵),並且有一個聚集鍵是傳感器ID。

對於每個timestamp我想進行操作,一個簡單的例子是做sensor1/sensor2

通過保持數據的局部性(我認爲我的數據模型非常適合這些任務),我怎樣才能高效地使用SparkSQL?

我讀了this post on Datastax,其中提到了Cassandra連接器中的spanByspanByKey。這將如何與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 

回答

1

它現在是不可能的。 spanBy API只能通過編程API訪問。要在SparkSQL中啓用它,需要擴展SparkSQL語法以注入額外的子句,這是一項艱鉅的任務...

+0

感謝您的信息。它在pyspark(targetholding)連接器中可用嗎?你認爲你可以用SparkSQL提出另一種方法嗎? –

+0

我不認爲它可以與pyspark一起使用,因爲pyspark使用下面的數據框(文檔說**你僅限於DataFrame only操作**) – doanduyhai

+1

最好的選擇是創建一個JIRA並要求擴展'spanBy'功能pySpark或/和SparkSQL。 – doanduyhai