Skip to content
v2.274.0

DatePartitionProjectionConfigurationProps Struct ​

Properties for DATE partition projection configuration.

Example ​

ts
declare const myDatabase: glue.Database;
new glue.S3Table(this, 'MyTable', {
  database: myDatabase,
  columns: [{
    name: 'data',
    type: glue.Schema.STRING,
  }],
  partitionKeys: [{
    name: 'date',
    type: glue.Schema.STRING,
  }],
  dataFormat: glue.DataFormat.JSON,
  partitionProjection: {
    date: glue.PartitionProjectionConfiguration.date({
      min: '2020-01-01',
      max: '2023-12-31',
      format: 'yyyy-MM-dd',
      // `step` bundles interval + unit (supply both or neither). Optional at day
      // precision or coarser; required when the format is sub-day (e.g. hours).
      step: { interval: 1, intervalUnit: glue.DateIntervalUnit.DAYS },
    }),
  },
});

Properties ​

formatstringformatstrformatStringFormatstringFormat*stringrequired#
Date format for partition values.

Uses Java SimpleDateFormat patterns.

maxstringmaxstrmaxStringMaxstringMax*stringrequired#
End date for the partition range (inclusive).

Can be either:

  • Fixed date in the format specified by format property
  • Relative date using NOW syntax

Same format constraints as min.

minstringminstrminStringMinstringMin*stringrequired#
Start date for the partition range (inclusive).

Can be either:

  • Fixed date in the format specified by format property (e.g., '2020-01-01' for format 'yyyy-MM-dd')
  • Relative date using NOW syntax (e.g., 'NOW', 'NOW-3YEARS', 'NOW+1MONTH')
Interval step (`interval` + `intervalUnit`) between partition values.
notes · default

The two are supplied together, so a partial step cannot be expressed. Required when format carries sub-day precision — a field finer than a day, such as hours or AM/PM; at day or coarser precision Athena defaults the step, so it may be omitted.

Default: Athena's default step for the format's precision; required when format is sub-day precision