CfnTablePropsMixin
- class aws_cdk.mixins_preview.aws_glue.mixins.CfnTablePropsMixin(props, *, strategy=None)
Bases:
MixinThe
AWS::Glue::Tableresource specifies tabular data in the AWS Glue data catalog.For more information, see Defining Tables in the AWS Glue Data Catalog and Table Structure in the AWS Glue Developer Guide .
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html
- CloudformationResource:
AWS::Glue::Table
- Mixin:
true
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview import mixins from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins # parameters: Any # skewed_column_value_location_maps: Any cfn_table_props_mixin = glue_mixins.CfnTablePropsMixin(glue_mixins.CfnTableMixinProps( catalog_id="catalogId", database_name="databaseName", open_table_format_input=glue_mixins.CfnTablePropsMixin.OpenTableFormatInputProperty( iceberg_input=glue_mixins.CfnTablePropsMixin.IcebergInputProperty( metadata_operation="metadataOperation", version="version" ) ), table_input=glue_mixins.CfnTablePropsMixin.TableInputProperty( description="description", name="name", owner="owner", parameters=parameters, partition_keys=[glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )], retention=123, storage_descriptor=glue_mixins.CfnTablePropsMixin.StorageDescriptorProperty( bucket_columns=["bucketColumns"], columns=[glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )], compressed=False, input_format="inputFormat", location="location", number_of_buckets=123, output_format="outputFormat", parameters=parameters, schema_reference=glue_mixins.CfnTablePropsMixin.SchemaReferenceProperty( schema_id=glue_mixins.CfnTablePropsMixin.SchemaIdProperty( registry_name="registryName", schema_arn="schemaArn", schema_name="schemaName" ), schema_version_id="schemaVersionId", schema_version_number=123 ), serde_info=glue_mixins.CfnTablePropsMixin.SerdeInfoProperty( name="name", parameters=parameters, serialization_library="serializationLibrary" ), skewed_info=glue_mixins.CfnTablePropsMixin.SkewedInfoProperty( skewed_column_names=["skewedColumnNames"], skewed_column_value_location_maps=skewed_column_value_location_maps, skewed_column_values=["skewedColumnValues"] ), sort_columns=[glue_mixins.CfnTablePropsMixin.OrderProperty( column="column", sort_order=123 )], stored_as_sub_directories=False ), table_type="tableType", target_table=glue_mixins.CfnTablePropsMixin.TableIdentifierProperty( catalog_id="catalogId", database_name="databaseName", name="name", region="region" ), view_expanded_text="viewExpandedText", view_original_text="viewOriginalText" ) ), strategy=mixins.PropertyMergeStrategy.OVERRIDE )
Create a mixin to apply properties to
AWS::Glue::Table.- Parameters:
props (
Union[CfnTableMixinProps,Dict[str,Any]]) – L1 properties to apply.strategy (
Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE
Methods
- apply_to(construct)
Apply the mixin properties to the construct.
- Parameters:
construct (
IConstruct)- Return type:
- supports(construct)
Check if this mixin supports the given construct.
- Parameters:
construct (
IConstruct)- Return type:
bool
Attributes
- CFN_PROPERTY_KEYS = ['catalogId', 'databaseName', 'openTableFormatInput', 'tableInput']
Static Methods
- classmethod is_mixin(x)
(experimental) Checks if
xis a Mixin.- Parameters:
x (
Any) – Any object.- Return type:
bool- Returns:
true if
xis an object created from a class which extendsMixin.- Stability:
experimental
ColumnProperty
- class CfnTablePropsMixin.ColumnProperty(*, comment=None, name=None, type=None)
Bases:
objectA column in a
Table.- Parameters:
comment (
Optional[str]) – A free-form text comment.name (
Optional[str]) – The name of theColumn.type (
Optional[str]) – The data type of theColumn.
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins column_property = glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )
Attributes
- comment
A free-form text comment.
- name
The name of the
Column.
- type
The data type of the
Column.
IcebergInputProperty
- class CfnTablePropsMixin.IcebergInputProperty(*, metadata_operation=None, version=None)
Bases:
objectSpecifies an input structure that defines an Apache Iceberg metadata table.
- Parameters:
metadata_operation (
Optional[str]) – A required metadata operation. Can only be set to CREATE.version (
Optional[str]) – The table version for the Iceberg table. Defaults to 2.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins iceberg_input_property = glue_mixins.CfnTablePropsMixin.IcebergInputProperty( metadata_operation="metadataOperation", version="version" )
Attributes
- metadata_operation
A required metadata operation.
Can only be set to CREATE.
- version
The table version for the Iceberg table.
Defaults to 2.
OpenTableFormatInputProperty
- class CfnTablePropsMixin.OpenTableFormatInputProperty(*, iceberg_input=None)
Bases:
objectSpecifies an
OpenTableFormatInputstructure when creating an open format table.- Parameters:
iceberg_input (
Union[IResolvable,IcebergInputProperty,Dict[str,Any],None]) – Specifies anIcebergInputstructure that defines an Apache Iceberg metadata table.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins open_table_format_input_property = glue_mixins.CfnTablePropsMixin.OpenTableFormatInputProperty( iceberg_input=glue_mixins.CfnTablePropsMixin.IcebergInputProperty( metadata_operation="metadataOperation", version="version" ) )
Attributes
- iceberg_input
Specifies an
IcebergInputstructure that defines an Apache Iceberg metadata table.
OrderProperty
- class CfnTablePropsMixin.OrderProperty(*, column=None, sort_order=None)
Bases:
objectSpecifies the sort order of a sorted column.
- Parameters:
column (
Optional[str]) – The name of the column.sort_order (
Union[int,float,None]) – Indicates that the column is sorted in ascending order (== 1), or in descending order (==0).
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins order_property = glue_mixins.CfnTablePropsMixin.OrderProperty( column="column", sort_order=123 )
Attributes
- column
The name of the column.
- sort_order
Indicates that the column is sorted in ascending order (
== 1), or in descending order (==0).
SchemaIdProperty
- class CfnTablePropsMixin.SchemaIdProperty(*, registry_name=None, schema_arn=None, schema_name=None)
Bases:
objectA structure that contains schema identity fields.
Either this or the
SchemaVersionIdhas to be provided.- Parameters:
registry_name (
Optional[str]) – The name of the schema registry that contains the schema.schema_arn (
Optional[str]) – The Amazon Resource Name (ARN) of the schema. One ofSchemaArnorSchemaNamehas to be provided.schema_name (
Optional[str]) – The name of the schema. One ofSchemaArnorSchemaNamehas to be provided.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins schema_id_property = glue_mixins.CfnTablePropsMixin.SchemaIdProperty( registry_name="registryName", schema_arn="schemaArn", schema_name="schemaName" )
Attributes
- registry_name
The name of the schema registry that contains the schema.
- schema_arn
The Amazon Resource Name (ARN) of the schema.
One of
SchemaArnorSchemaNamehas to be provided.
- schema_name
The name of the schema.
One of
SchemaArnorSchemaNamehas to be provided.
SchemaReferenceProperty
- class CfnTablePropsMixin.SchemaReferenceProperty(*, schema_id=None, schema_version_id=None, schema_version_number=None)
Bases:
objectAn object that references a schema stored in the AWS Glue Schema Registry.
- Parameters:
schema_id (
Union[IResolvable,SchemaIdProperty,Dict[str,Any],None]) – A structure that contains schema identity fields. Either this or theSchemaVersionIdhas to be provided.schema_version_id (
Optional[str]) – The unique ID assigned to a version of the schema. Either this or theSchemaIdhas to be provided.schema_version_number (
Union[int,float,None]) – The version number of the schema.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins schema_reference_property = glue_mixins.CfnTablePropsMixin.SchemaReferenceProperty( schema_id=glue_mixins.CfnTablePropsMixin.SchemaIdProperty( registry_name="registryName", schema_arn="schemaArn", schema_name="schemaName" ), schema_version_id="schemaVersionId", schema_version_number=123 )
Attributes
- schema_id
A structure that contains schema identity fields.
Either this or the
SchemaVersionIdhas to be provided.
- schema_version_id
The unique ID assigned to a version of the schema.
Either this or the
SchemaIdhas to be provided.
- schema_version_number
The version number of the schema.
SerdeInfoProperty
- class CfnTablePropsMixin.SerdeInfoProperty(*, name=None, parameters=None, serialization_library=None)
Bases:
objectInformation about a serialization/deserialization program (SerDe) that serves as an extractor and loader.
- Parameters:
name (
Optional[str]) – Name of the SerDe.parameters (
Any) – These key-value pairs define initialization parameters for the SerDe.serialization_library (
Optional[str]) – Usually the class that implements the SerDe. An example isorg.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins # parameters: Any serde_info_property = glue_mixins.CfnTablePropsMixin.SerdeInfoProperty( name="name", parameters=parameters, serialization_library="serializationLibrary" )
Attributes
- name
Name of the SerDe.
- parameters
These key-value pairs define initialization parameters for the SerDe.
- serialization_library
Usually the class that implements the SerDe.
An example is
org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.
SkewedInfoProperty
- class CfnTablePropsMixin.SkewedInfoProperty(*, skewed_column_names=None, skewed_column_value_location_maps=None, skewed_column_values=None)
Bases:
objectSpecifies skewed values in a table.
Skewed values are those that occur with very high frequency.
- Parameters:
skewed_column_names (
Optional[Sequence[str]]) – A list of names of columns that contain skewed values.skewed_column_value_location_maps (
Any) – A mapping of skewed values to the columns that contain them.skewed_column_values (
Optional[Sequence[str]]) – A list of values that appear so frequently as to be considered skewed.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins # skewed_column_value_location_maps: Any skewed_info_property = glue_mixins.CfnTablePropsMixin.SkewedInfoProperty( skewed_column_names=["skewedColumnNames"], skewed_column_value_location_maps=skewed_column_value_location_maps, skewed_column_values=["skewedColumnValues"] )
Attributes
- skewed_column_names
A list of names of columns that contain skewed values.
- skewed_column_value_location_maps
A mapping of skewed values to the columns that contain them.
- skewed_column_values
A list of values that appear so frequently as to be considered skewed.
StorageDescriptorProperty
- class CfnTablePropsMixin.StorageDescriptorProperty(*, bucket_columns=None, columns=None, compressed=None, input_format=None, location=None, number_of_buckets=None, output_format=None, parameters=None, schema_reference=None, serde_info=None, skewed_info=None, sort_columns=None, stored_as_sub_directories=None)
Bases:
objectDescribes the physical storage of table data.
- Parameters:
bucket_columns (
Optional[Sequence[str]]) – A list of reducer grouping columns, clustering columns, and bucketing columns in the table.columns (
Union[IResolvable,Sequence[Union[IResolvable,ColumnProperty,Dict[str,Any]]],None]) – A list of theColumnsin the table.compressed (
Union[bool,IResolvable,None]) –Trueif the data in the table is compressed, orFalseif not.input_format (
Optional[str]) – The input format:SequenceFileInputFormat(binary), orTextInputFormat, or a custom format.location (
Optional[str]) – The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.number_of_buckets (
Union[int,float,None]) – Must be specified if the table contains any dimension columns.output_format (
Optional[str]) – The output format:SequenceFileOutputFormat(binary), orIgnoreKeyTextOutputFormat, or a custom format.parameters (
Any) – The user-supplied properties in key-value form.schema_reference (
Union[IResolvable,SchemaReferenceProperty,Dict[str,Any],None]) – An object that references a schema stored in the AWS Glue Schema Registry.serde_info (
Union[IResolvable,SerdeInfoProperty,Dict[str,Any],None]) – The serialization/deserialization (SerDe) information.skewed_info (
Union[IResolvable,SkewedInfoProperty,Dict[str,Any],None]) – The information about values that appear frequently in a column (skewed values).sort_columns (
Union[IResolvable,Sequence[Union[IResolvable,OrderProperty,Dict[str,Any]]],None]) – A list specifying the sort order of each bucket in the table.stored_as_sub_directories (
Union[bool,IResolvable,None]) –Trueif the table data is stored in subdirectories, orFalseif not.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins # parameters: Any # skewed_column_value_location_maps: Any storage_descriptor_property = glue_mixins.CfnTablePropsMixin.StorageDescriptorProperty( bucket_columns=["bucketColumns"], columns=[glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )], compressed=False, input_format="inputFormat", location="location", number_of_buckets=123, output_format="outputFormat", parameters=parameters, schema_reference=glue_mixins.CfnTablePropsMixin.SchemaReferenceProperty( schema_id=glue_mixins.CfnTablePropsMixin.SchemaIdProperty( registry_name="registryName", schema_arn="schemaArn", schema_name="schemaName" ), schema_version_id="schemaVersionId", schema_version_number=123 ), serde_info=glue_mixins.CfnTablePropsMixin.SerdeInfoProperty( name="name", parameters=parameters, serialization_library="serializationLibrary" ), skewed_info=glue_mixins.CfnTablePropsMixin.SkewedInfoProperty( skewed_column_names=["skewedColumnNames"], skewed_column_value_location_maps=skewed_column_value_location_maps, skewed_column_values=["skewedColumnValues"] ), sort_columns=[glue_mixins.CfnTablePropsMixin.OrderProperty( column="column", sort_order=123 )], stored_as_sub_directories=False )
Attributes
- bucket_columns
A list of reducer grouping columns, clustering columns, and bucketing columns in the table.
- columns
A list of the
Columnsin the table.
- compressed
Trueif the data in the table is compressed, orFalseif not.
- input_format
SequenceFileInputFormat(binary), orTextInputFormat, or a custom format.
- location
The physical location of the table.
By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.
- number_of_buckets
Must be specified if the table contains any dimension columns.
- output_format
SequenceFileOutputFormat(binary), orIgnoreKeyTextOutputFormat, or a custom format.
- parameters
The user-supplied properties in key-value form.
- schema_reference
An object that references a schema stored in the AWS Glue Schema Registry.
- serde_info
The serialization/deserialization (SerDe) information.
- skewed_info
The information about values that appear frequently in a column (skewed values).
- sort_columns
A list specifying the sort order of each bucket in the table.
- stored_as_sub_directories
Trueif the table data is stored in subdirectories, orFalseif not.
TableIdentifierProperty
- class CfnTablePropsMixin.TableIdentifierProperty(*, catalog_id=None, database_name=None, name=None, region=None)
Bases:
objectA structure that describes a target table for resource linking.
- Parameters:
catalog_id (
Optional[str]) – The ID of the Data Catalog in which the table resides.database_name (
Optional[str]) – The name of the catalog database that contains the target table.name (
Optional[str]) – The name of the target table.region (
Optional[str]) – The Region of the table.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins table_identifier_property = glue_mixins.CfnTablePropsMixin.TableIdentifierProperty( catalog_id="catalogId", database_name="databaseName", name="name", region="region" )
Attributes
- catalog_id
The ID of the Data Catalog in which the table resides.
- database_name
The name of the catalog database that contains the target table.
- name
The name of the target table.
- region
The Region of the table.
TableInputProperty
- class CfnTablePropsMixin.TableInputProperty(*, description=None, name=None, owner=None, parameters=None, partition_keys=None, retention=None, storage_descriptor=None, table_type=None, target_table=None, view_expanded_text=None, view_original_text=None)
Bases:
objectA structure used to define a table.
- Parameters:
description (
Optional[str]) – A description of the table.name (
Optional[str]) – The table name. For Hive compatibility, this is folded to lowercase when it is stored.owner (
Optional[str]) – The table owner. Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.parameters (
Any) – These key-value pairs define properties associated with the table.partition_keys (
Union[IResolvable,Sequence[Union[IResolvable,ColumnProperty,Dict[str,Any]]],None]) – A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify anypartitionKeys, you must at least set the value ofpartitionKeysto an empty list. For example:"PartitionKeys": []retention (
Union[int,float,None]) – The retention time for this table.storage_descriptor (
Union[IResolvable,StorageDescriptorProperty,Dict[str,Any],None]) – A storage descriptor containing information about the physical storage of this table.table_type (
Optional[str]) – The type of this table. AWS Glue will create tables with theEXTERNAL_TABLEtype. Other services, such as Athena, may create tables with additional table types. AWS Glue related table types: - EXTERNAL_TABLE - Hive compatible attribute - indicates a non-Hive managed table. - GOVERNED - Used by AWS Lake Formation . The AWS Glue Data Catalog understandsGOVERNED.target_table (
Union[IResolvable,TableIdentifierProperty,Dict[str,Any],None]) – ATableIdentifierstructure that describes a target table for resource linking.view_expanded_text (
Optional[str]) – Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.view_original_text (
Optional[str]) – Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations. If the table is aVIRTUAL_VIEW, certain Athena configuration encoded in base64.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk.mixins_preview.aws_glue import mixins as glue_mixins # parameters: Any # skewed_column_value_location_maps: Any table_input_property = glue_mixins.CfnTablePropsMixin.TableInputProperty( description="description", name="name", owner="owner", parameters=parameters, partition_keys=[glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )], retention=123, storage_descriptor=glue_mixins.CfnTablePropsMixin.StorageDescriptorProperty( bucket_columns=["bucketColumns"], columns=[glue_mixins.CfnTablePropsMixin.ColumnProperty( comment="comment", name="name", type="type" )], compressed=False, input_format="inputFormat", location="location", number_of_buckets=123, output_format="outputFormat", parameters=parameters, schema_reference=glue_mixins.CfnTablePropsMixin.SchemaReferenceProperty( schema_id=glue_mixins.CfnTablePropsMixin.SchemaIdProperty( registry_name="registryName", schema_arn="schemaArn", schema_name="schemaName" ), schema_version_id="schemaVersionId", schema_version_number=123 ), serde_info=glue_mixins.CfnTablePropsMixin.SerdeInfoProperty( name="name", parameters=parameters, serialization_library="serializationLibrary" ), skewed_info=glue_mixins.CfnTablePropsMixin.SkewedInfoProperty( skewed_column_names=["skewedColumnNames"], skewed_column_value_location_maps=skewed_column_value_location_maps, skewed_column_values=["skewedColumnValues"] ), sort_columns=[glue_mixins.CfnTablePropsMixin.OrderProperty( column="column", sort_order=123 )], stored_as_sub_directories=False ), table_type="tableType", target_table=glue_mixins.CfnTablePropsMixin.TableIdentifierProperty( catalog_id="catalogId", database_name="databaseName", name="name", region="region" ), view_expanded_text="viewExpandedText", view_original_text="viewOriginalText" )
Attributes
- description
A description of the table.
- name
The table name.
For Hive compatibility, this is folded to lowercase when it is stored.
- owner
The table owner.
Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.
- parameters
These key-value pairs define properties associated with the table.
- partition_keys
A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.
When you create a table used by Amazon Athena, and you do not specify any
partitionKeys, you must at least set the value ofpartitionKeysto an empty list. For example:"PartitionKeys": []
- retention
The retention time for this table.
- storage_descriptor
A storage descriptor containing information about the physical storage of this table.
- table_type
The type of this table.
AWS Glue will create tables with the
EXTERNAL_TABLEtype. Other services, such as Athena, may create tables with additional table types.AWS Glue related table types:
EXTERNAL_TABLE - Hive compatible attribute - indicates a non-Hive managed table.
GOVERNED - Used by AWS Lake Formation . The AWS Glue Data Catalog understands
GOVERNED.
- target_table
A
TableIdentifierstructure that describes a target table for resource linking.
- view_expanded_text
Included for Apache Hive compatibility.
Not used in the normal course of AWS Glue operations.
- view_original_text
Included for Apache Hive compatibility.
Not used in the normal course of AWS Glue operations. If the table is a
VIRTUAL_VIEW, certain Athena configuration encoded in base64.