我有以下卡桑德拉表用法:分區鍵檢索與joinWithCassandraTable
CREATE TABLE listener.snapshots_geohash
(
created_date text, -- date when record have come to the system
geo_part text, -- few signs of geo hash - just for partitioning
when timestamp, -- record creation date
device_id text, -- id of device produced json data (see snapshot column)
snapshot text, -- json data, should be aggregated by spark
PRIMARY KEY ((created_date, geo_part), when, device_id)
)
每天早上聚合應用程序應該加載前一天和快照列總JSON數據。聚合將通過geohash對數據進行分組,這就是爲什麼它的部分被選爲分區鍵的一部分。
我知道使用joinWithCassandraTable加載Cassandra中的數據是有效的 - 但爲此,我必須從(created_date,geo_part)對中構建RDD。儘管我知道created_date值,但我無法列出geo_part值 - 因爲它只是geohash的一部分,並且其值不連續。所以我有辦法運行select distinct created_date, geo_part from ks.snapshots
並從其結果創建RDD。問題是如何使用spark 2.0.2和cassandra-connector 2.0.0-M3運行此選擇,或者可能有其他方法?