Interface CfnTable.TableInputProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTable.TableInputProperty.Jsii$Proxy
Enclosing class:
CfnTable

@Stability(Stable) public static interface CfnTable.TableInputProperty extends software.amazon.jsii.JsiiSerializable
A structure used to define a table.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.glue.*;
 Object parameters;
 Object skewedColumnValueLocationMaps;
 TableInputProperty tableInputProperty = TableInputProperty.builder()
         .description("description")
         .name("name")
         .owner("owner")
         .parameters(parameters)
         .partitionKeys(List.of(ColumnProperty.builder()
                 .name("name")
                 // the properties below are optional
                 .comment("comment")
                 .type("type")
                 .build()))
         .retention(123)
         .storageDescriptor(StorageDescriptorProperty.builder()
                 .bucketColumns(List.of("bucketColumns"))
                 .columns(List.of(ColumnProperty.builder()
                         .name("name")
                         // the properties below are optional
                         .comment("comment")
                         .type("type")
                         .build()))
                 .compressed(false)
                 .inputFormat("inputFormat")
                 .location("location")
                 .numberOfBuckets(123)
                 .outputFormat("outputFormat")
                 .parameters(parameters)
                 .schemaReference(SchemaReferenceProperty.builder()
                         .schemaId(SchemaIdProperty.builder()
                                 .registryName("registryName")
                                 .schemaArn("schemaArn")
                                 .schemaName("schemaName")
                                 .build())
                         .schemaVersionId("schemaVersionId")
                         .schemaVersionNumber(123)
                         .build())
                 .serdeInfo(SerdeInfoProperty.builder()
                         .name("name")
                         .parameters(parameters)
                         .serializationLibrary("serializationLibrary")
                         .build())
                 .skewedInfo(SkewedInfoProperty.builder()
                         .skewedColumnNames(List.of("skewedColumnNames"))
                         .skewedColumnValueLocationMaps(skewedColumnValueLocationMaps)
                         .skewedColumnValues(List.of("skewedColumnValues"))
                         .build())
                 .sortColumns(List.of(OrderProperty.builder()
                         .column("column")
                         .sortOrder(123)
                         .build()))
                 .storedAsSubDirectories(false)
                 .build())
         .tableType("tableType")
         .targetTable(TableIdentifierProperty.builder()
                 .catalogId("catalogId")
                 .databaseName("databaseName")
                 .name("name")
                 .build())
         .viewExpandedText("viewExpandedText")
         .viewOriginalText("viewOriginalText")
         .build();
 
  • Method Details

    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      A description of the table.
    • getName

      @Stability(Stable) @Nullable default String getName()
      The table name.

      For Hive compatibility, this is folded to lowercase when it is stored.

    • getOwner

      @Stability(Stable) @Nullable default String getOwner()
      The table owner.

      Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.

    • getParameters

      @Stability(Stable) @Nullable default Object getParameters()
      These key-value pairs define properties associated with the table.
    • getPartitionKeys

      @Stability(Stable) @Nullable default Object getPartitionKeys()
      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 of partitionKeys to an empty list. For example:

      "PartitionKeys": []

    • getRetention

      @Stability(Stable) @Nullable default Number getRetention()
      The retention time for this table.
    • getStorageDescriptor

      @Stability(Stable) @Nullable default Object getStorageDescriptor()
      A storage descriptor containing information about the physical storage of this table.
    • getTableType

      @Stability(Stable) @Nullable default String getTableType()
      The type of this table.

      AWS Glue will create tables with the EXTERNAL_TABLE type. 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 .
    • getTargetTable

      @Stability(Stable) @Nullable default Object getTargetTable()
      A TableIdentifier structure that describes a target table for resource linking.
    • getViewExpandedText

      @Stability(Stable) @Nullable default String getViewExpandedText()
      Included for Apache Hive compatibility.

      Not used in the normal course of AWS Glue operations.

    • getViewOriginalText

      @Stability(Stable) @Nullable default String getViewOriginalText()
      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.

    • builder

      @Stability(Stable) static CfnTable.TableInputProperty.Builder builder()
      Returns:
      a CfnTable.TableInputProperty.Builder of CfnTable.TableInputProperty