Show / Hide Table of Contents

Class PartitionProjectionConfiguration

(experimental) Factory class for creating partition projection configurations.

Inheritance
object
PartitionProjectionConfiguration
Namespace: Amazon.CDK.AWS.Glue.Alpha
Assembly: Amazon.CDK.AWS.Glue.Alpha.dll
Syntax (csharp)
public class PartitionProjectionConfiguration : DeputyBase
Syntax (vb)
Public Class PartitionProjectionConfiguration Inherits DeputyBase
Remarks

Stability: Experimental

ExampleMetadata: infused

Examples
Database myDatabase;

             new S3Table(this, "MyTable", new S3TableProps {
                 Database = myDatabase,
                 Columns = new [] { new Column {
                     Name = "data",
                     Type = Schema.STRING
                 } },
                 PartitionKeys = new [] { new Column {
                     Name = "date",
                     Type = Schema.STRING
                 } },
                 DataFormat = DataFormat.JSON,
                 PartitionProjection = new Dictionary<string, PartitionProjectionConfiguration> {
                     { "date", PartitionProjectionConfiguration.Date(new DatePartitionProjectionConfigurationProps {
                         Min = "2020-01-01",
                         Max = "2023-12-31",
                         Format = "yyyy-MM-dd",
                         Interval = 1,  // optional, defaults to 1
                         IntervalUnit = DateIntervalUnit.DAYS
                     }) }
                 }
             });

Synopsis

Properties

DateRange

(experimental) Range of partition values for DATE type.

Digits

(experimental) Number of digits to pad INTEGER partition values.

Format

(experimental) Date format for DATE partition values (Java SimpleDateFormat).

IntegerRange

(experimental) Range of partition values for INTEGER type.

Interval

(experimental) Interval between partition values.

IntervalUnit

(experimental) Unit for DATE partition interval.

Type

(experimental) The type of partition projection.

Values

(experimental) Explicit list of values for ENUM partitions.

Methods

Date(IDatePartitionProjectionConfigurationProps)

(experimental) Create a DATE partition projection configuration.

Enum(IEnumPartitionProjectionConfigurationProps)

(experimental) Create an ENUM partition projection configuration.

Injected()

(experimental) Create an INJECTED partition projection configuration.

Integer(IIntegerPartitionProjectionConfigurationProps)

(experimental) Create an INTEGER partition projection configuration.

Properties

DateRange

(experimental) Range of partition values for DATE type.

public virtual string[]? DateRange { get; }
Property Value

string[]

Remarks

Array of [start, end] as date strings.

Stability: Experimental

Digits

(experimental) Number of digits to pad INTEGER partition values.

public virtual double? Digits { get; }
Property Value

double?

Remarks

Stability: Experimental

Format

(experimental) Date format for DATE partition values (Java SimpleDateFormat).

public virtual string? Format { get; }
Property Value

string

Remarks

Stability: Experimental

IntegerRange

(experimental) Range of partition values for INTEGER type.

public virtual double[]? IntegerRange { get; }
Property Value

double[]

Remarks

Array of [min, max] as numbers.

Stability: Experimental

Interval

(experimental) Interval between partition values.

public virtual double? Interval { get; }
Property Value

double?

Remarks

Stability: Experimental

IntervalUnit

(experimental) Unit for DATE partition interval.

public virtual DateIntervalUnit? IntervalUnit { get; }
Property Value

DateIntervalUnit?

Remarks

Stability: Experimental

Type

(experimental) The type of partition projection.

public virtual PartitionProjectionType Type { get; }
Property Value

PartitionProjectionType

Remarks

Stability: Experimental

Values

(experimental) Explicit list of values for ENUM partitions.

public virtual string[]? Values { get; }
Property Value

string[]

Remarks

Stability: Experimental

Methods

Date(IDatePartitionProjectionConfigurationProps)

(experimental) Create a DATE partition projection configuration.

public static PartitionProjectionConfiguration Date(IDatePartitionProjectionConfigurationProps props)
Parameters
props IDatePartitionProjectionConfigurationProps
Returns

PartitionProjectionConfiguration

Remarks

Stability: Experimental

Enum(IEnumPartitionProjectionConfigurationProps)

(experimental) Create an ENUM partition projection configuration.

public static PartitionProjectionConfiguration Enum(IEnumPartitionProjectionConfigurationProps props)
Parameters
props IEnumPartitionProjectionConfigurationProps
Returns

PartitionProjectionConfiguration

Remarks

Stability: Experimental

Injected()

(experimental) Create an INJECTED partition projection configuration.

public static PartitionProjectionConfiguration Injected()
Returns

PartitionProjectionConfiguration

Remarks

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

Stability: Experimental

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

Integer(IIntegerPartitionProjectionConfigurationProps)

(experimental) Create an INTEGER partition projection configuration.

public static PartitionProjectionConfiguration Integer(IIntegerPartitionProjectionConfigurationProps props)
Parameters
props IIntegerPartitionProjectionConfigurationProps
Returns

PartitionProjectionConfiguration

Remarks

Stability: Experimental

Back to top Generated by DocFX