Redshift Spectrum 使用两个日期字段对表进行分区
Posted
技术标签:
【中文标题】Redshift Spectrum 使用两个日期字段对表进行分区【英文标题】:Redshift Spectrum partitioning a table using two date fields 【发布时间】:2017-10-06 21:36:44 【问题描述】:我一直在寻找按日期创建分区的最佳实践,使用amazon-redshift-spectrum
,但示例显示了通过仅按一个日期对表进行分区来解决问题。如果我有多个日期字段怎么办?
例如:user_install_date
和 event_date
的移动事件
对s3
进行分区的性能如何:
installdate=2015-01-01/eventdate=2017-01-01
installdate=2015-01-01/eventdate=2017-01-02
installdate=2015-01-01/eventdate=2017-01-03
它会扼杀我的select
性能吗?在这种情况下,最好的策略是什么?
【问题讨论】:
【参考方案1】:如果您的数据以上述方式分区,那么在 WHERE 子句中仅包含 eventdate
(没有 installdate
)的查询效率会降低。
它仍然需要查看每个installdate
目录,但它可以跳过与谓词不匹配的eventdate
目录。
将较少使用的参数放在第二位。
【讨论】:
以上是关于Redshift Spectrum 使用两个日期字段对表进行分区的主要内容,如果未能解决你的问题,请参考以下文章
分区依据的 Amazon Redshift Spectrum 不返回结果
如何使用 Psycopg2 在 Redshift Spectrum 中添加分区 -