我正在努力解决Cassandra / Spark数据建模问题。我将用户数据存储在Cassandra中,该数据由session_id分区用于Web会话。每天,我想运行一个Spark作业来分析当天的用户会话。我希望Spark只考虑当天的数据,就像我尝试为所有会话数据运行Spark作业(目前我们将60天的会话数据存储在一个表中),并过滤当前那一天,需要很长时间。选择user_id分区是因为它还能够查询单个用户会话。
为了让Spark的数据尽可能小,我想创建60个表,每个表在接下来的60天中每天都有一个表,并且只写入与每天相对应的表。对于处理跨日会话,我会写入前一天的表和当天的表,窗口等于我们分配给用户会话的最长时间(8分钟)。然后我可以删除Spark中的重复项。这听起来像是一个理智的计划吗?我在这里错误地使用Cassandra或Spark吗?任何建议表示赞赏