Scala 如何计算来自多个时区的推特的正面和负面句子

Scala 如何计算来自多个时区的推特的正面和负面句子,scala,twitter,spark-streaming,Scala,Twitter,Spark Streaming,我使用spark stream来传输推文,并使用Cassandra通过Unix时间戳保存推文。我每天分析积极的、消极的句子并统计它们 问题: 很难处理来自不同时区的数据。GMT+7中的一天开始时间与GMT+12中的一天开始时间非常不同 示例 (我对这些信息感到非常抱歉,很难解释) 在UTC=>中,开始日期是2017-03-21T16:50:00Z,所以我可以计算句子 每天结束前7小时10分钟 但在某些时区(同一时间)=>开始日期是2017-03-21T23:53:00Z 所以我可以在一天结束前7

我使用spark stream来传输推文,并使用Cassandra通过Unix时间戳保存推文。我每天分析积极的、消极的句子并统计它们

问题: 很难处理来自不同时区的数据。GMT+7中的一天开始时间与GMT+12中的一天开始时间非常不同

示例

(我对这些信息感到非常抱歉,很难解释)

在UTC=>中,开始日期是2017-03-21T16:50:00Z,所以我可以计算句子 每天结束前7小时10分钟

但在某些时区(同一时间)=>开始日期是2017-03-21T23:53:00Z 所以我可以在一天结束前7分钟内数一数句子

我想我通过在每个时区创建一个表来解决这个问题,我认为这不是最好的解决方案


是否有更好的解决方案?

如果您的要求是计算“每天”,您如何定义“一天”,即“一天”何时开始?在某个时区是从00:00到23:59吗?在UTC时区?首先解释要求。您需要添加更多信息,说明您到底在做什么以获得特定答案-但一般来说,您应该将所有时间戳标准化为一个公共时区-通常这将通过使用UTC中1970年以来的毫秒(unix时间戳)来完成-因此映射时间戳,使用Scala转换为UTC,然后将其作为时间输入Spark Streaming,因为您需要为每个时区选择一个“天”或使用“LocalDate”。在每个单独的时区中,从00:00到23:59分别统计每个时区中的推文是有意义的。这是有道理的,因为(大多数)人晚上不发推特,所以你可以比较不同时区每天的推特数量。但你的日子不会在同一UTC时刻开始。每天都将在自己时区的00:00开始,这没关系。@radumanolescu,数据库太大了。我不想那样做