PartitionProjectionConfiguration

class aws_cdk.aws_glue.PartitionProjectionConfiguration(*args: Any, **kwargs)

Bases: object

Factory class for creating partition projection configurations.

ExampleMetadata:

infused

Example:

# my_database: glue.Database

glue.S3Table(self, "MyTable",
    database=my_database,
    columns=[glue.Column(
        name="data",
        type=glue.Schema.STRING
    )],
    partition_keys=[glue.Column(
        name="date",
        type=glue.Schema.STRING
    )],
    data_format=glue.DataFormat.JSON,
    partition_projection={
        "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=glue.DateProjectionStep(interval=1, interval_unit=glue.DateIntervalUnit.DAYS)
        )
    }
)

Attributes

type

The type of partition projection.

Static Methods

classmethod date(*, format, max, min, step=None)

Create a DATE partition projection configuration.

Parameters:
  • format (str) – Date format for partition values. Uses Java SimpleDateFormat patterns.

  • max (str) – 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.

  • min (str) – 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’)

  • step (Union[DateProjectionStep, Dict[str, Any], None]) – Interval step (interval + intervalUnit) between partition values. 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

Return type:

PartitionProjectionConfiguration

classmethod enum(*, values)

Create an ENUM partition projection configuration.

Parameters:

values (Sequence[str]) – Explicit list of partition values.

Return type:

PartitionProjectionConfiguration

classmethod injected()

Create an INJECTED partition projection configuration.

Partition values are injected at query time through the query statement.

See:

https://docs.aws.amazon.com/athena/latest/ug/partition-projection-supported-types.html#partition-projection-injected-type

Return type:

PartitionProjectionConfiguration

classmethod integer(*, max, min, digits=None, interval=None)

Create an INTEGER partition projection configuration.

Parameters:
  • max (Union[int, float]) – Maximum value for the integer partition range (inclusive).

  • min (Union[int, float]) – Minimum value for the integer partition range (inclusive).

  • digits (Union[int, float, None]) – Number of digits to pad the partition value with leading zeros. With digits: 4, partition values: 0001, 0002, …, 0100 Default: - no static number of digits and no leading zeroes

  • interval (Union[int, float, None]) – Interval between partition values. Default: 1

Return type:

PartitionProjectionConfiguration