所以我一个月前开始学习spark和cassandra。我遇到了这个问题,我必须使用spark从传感器预聚合我的数据,然后将其下沉到cassandra表中。
这是我的应用流
Sensor Data -> Kafka -> Spark Structured Streaming -> Sink to Cassandra
问题是,直到每年,我都需要按秒,分钟,小时,天,月,月汇总数据。这导致我在cassandra中创建了90多个聚合表。
就我的进度而言,我发现必须使用每个聚合的一个writestream查询将每个聚合下沉到每个cassandra表中,这导致我创建了其中包含90多个writestream查询的庞大的Spark作业。正常吗?或至少“可以”获得火花?
任何帮助表示感谢,谢谢!
编辑。示例:
我有这个传感器,可以检测网络上的网络攻击。我有这种聚合: -每个秒/分钟/小时/天/月/年/年每个传感器的事件计数
每秒示例总数
Sensor year month day hour minute second hit
S1 2018 8 12 3 22 45 98182
S1 2018 8 12 3 22 46 992814
...
每分钟汇总示例
Sensor year month day hour minute hit
S1 2018 8 12 3 22 212458182
S1 2018 8 12 3 23 5523192814
这适用于其余指标(总共9个指标),每个指标具有+-12个汇总表 ...
答案 0 :(得分:0)
那是一个超级一般性的问题,实际上取决于您如何完成它。 但是通常,如果您需要写入90个表,则不能避免90个写流,这应该没问题。但是取决于OOO问题。
无论如何,它都能工作。
答案 1 :(得分:0)
这取决于您正在执行的聚合类型。 如果您可以举一个例子或2,将会很有帮助。