如何解决我应该将不同类型的用户活动数据存储在 AWS S3 中的相同前缀下还是为每个事件类别使用不同的前缀?
我应该将不同类型的用户活动数据(例如登录、活动、付款)存储在 AWS S3 中的相同前缀/路径下还是为每个事件类别使用不同的前缀?
例如,
登录事件/
支付事件/
交互事件/
我正在使用 Firehose 流式传输事件并保存在 s3 中。之后,我将使用 Athena 进行查询。 Athena 可以处理任何一种情况(一个前缀或多个前缀),但哪种方式更好?
将所有内容保存在一个前缀下会减少查询时间,因为在 Athena 查询期间我不需要表连接?
将数据保存在不同的前缀下似乎更系统地组织数据?
解决方法
这取决于将运行的查询。如果您经常在 where
子句中包含用户活动,那么如果您将事件写入不同的位置并将它们用作分区,您将获得更好的性能和更低的查询成本。另一方面,拥有大量分区会减慢您的查询速度。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。