可以在一个Spark作业中使用多个Spark结构化流写入查询(90+)吗?

时间:2018-07-04 13:37:19

标签: apache-spark cassandra

所以我一个月前开始学习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个汇总表     ...

2 个答案:

答案 0 :(得分:0)

那是一个超级一般性的问题,实际上取决于您如何完成它。 但是通常,如果您需要写入90个表,则不能避免90个写流,这应该没问题。但是取决于OOO问题。

无论如何,它都能工作。

答案 1 :(得分:0)

这取决于您正在执行的聚合类型。 如果您可以举一个例子或2,将会很有帮助。