Redshift Spectrum 使用两个日期字段对 table 进行分区

Redshift Spectrum partitioning a table using two date fields

我一直在寻找按日期创建分区的最佳做法,使用 amazon-redshift-spectrum,但示例显示了通过仅按一个日期对 table 进行分区来解决的问题。如果我有多个日期字段怎么办?

例如:user_install_dateevent_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 表现吗?在这种情况下最好的策略是什么?

如果您的数据以上述方式分区,那么在 WHERE 子句中只有 eventdate(没有 installdate)的查询效率会较低。

它仍然需要查看每个 installdate 目录,但它可以跳过 eventdate 个与谓词不匹配的目录。

将较少使用的参数放在第二位。