Interface TableBaseProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
ExternalTableProps, S3TableProps, TableProps
All Known Implementing Classes:
ExternalTableProps.Jsii$Proxy, S3TableProps.Jsii$Proxy, TableBaseProps.Jsii$Proxy, TableProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-22T02:24:11.613Z") @Stability(Experimental) public interface TableBaseProps extends software.amazon.jsii.JsiiSerializable
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.alpha.*;
 Database database;
 DataFormat dataFormat;
 StorageParameter storageParameter;
 TableBaseProps tableBaseProps = TableBaseProps.builder()
         .columns(List.of(Column.builder()
                 .name("name")
                 .type(Type.builder()
                         .inputString("inputString")
                         .isPrimitive(false)
                         .build())
                 // the properties below are optional
                 .comment("comment")
                 .build()))
         .database(database)
         .dataFormat(dataFormat)
         // the properties below are optional
         .compressed(false)
         .description("description")
         .enablePartitionFiltering(false)
         .parameters(Map.of(
                 "parametersKey", "parameters"))
         .partitionIndexes(List.of(PartitionIndex.builder()
                 .keyNames(List.of("keyNames"))
                 // the properties below are optional
                 .indexName("indexName")
                 .build()))
         .partitionKeys(List.of(Column.builder()
                 .name("name")
                 .type(Type.builder()
                         .inputString("inputString")
                         .isPrimitive(false)
                         .build())
                 // the properties below are optional
                 .comment("comment")
                 .build()))
         .storageParameters(List.of(storageParameter))
         .storedAsSubDirectories(false)
         .tableName("tableName")
         .build();
 
  • Method Details

    • getColumns

      @Stability(Experimental) @NotNull List<Column> getColumns()
      (experimental) Columns of the table.
    • getDatabase

      @Stability(Experimental) @NotNull IDatabase getDatabase()
      (experimental) Database in which to store the table.
    • getDataFormat

      @Stability(Experimental) @NotNull DataFormat getDataFormat()
      (experimental) Storage type of the table's data.
    • getCompressed

      @Stability(Experimental) @Nullable default Boolean getCompressed()
      (experimental) Indicates whether the table's data is compressed or not.

      Default: false

    • getDescription

      @Stability(Experimental) @Nullable default String getDescription()
      (experimental) Description of the table.

      Default: generated

    • getEnablePartitionFiltering

      @Stability(Experimental) @Nullable default Boolean getEnablePartitionFiltering()
      (experimental) Enables partition filtering.

      Default: - The parameter is not defined

      See Also:
    • getParameters

      @Stability(Experimental) @Nullable default Map<String,String> getParameters()
      (experimental) The key/value pairs define properties associated with the table.

      The key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.

      Default: - The parameter is not defined

      See Also:
    • getPartitionIndexes

      @Stability(Experimental) @Nullable default List<PartitionIndex> getPartitionIndexes()
      (experimental) Partition indexes on the table.

      A maximum of 3 indexes are allowed on a table. Keys in the index must be part of the table's partition keys.

      Default: table has no partition indexes

    • getPartitionKeys

      @Stability(Experimental) @Nullable default List<Column> getPartitionKeys()
      (experimental) Partition columns of the table.

      Default: table is not partitioned

    • getStorageParameters

      @Stability(Experimental) @Nullable default List<StorageParameter> getStorageParameters()
      (experimental) The user-supplied properties for the description of the physical storage of this table.

      These properties help describe the format of the data that is stored within the crawled data sources.

      The key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.

      Some keys will be auto-populated by glue crawlers, however, you can override them by specifying the key and value in this property.

      Default: - The parameter is not defined

      Example:

       IDatabase glueDatabase;
       Table table = Table.Builder.create(this, "Table")
               .storageParameters(List.of(StorageParameter.skipHeaderLineCount(1), StorageParameter.compressionType(CompressionType.GZIP), StorageParameter.custom("foo", "bar"), StorageParameter.custom("separatorChar", ","), StorageParameter.custom(StorageParameters.WRITE_PARALLEL, "off")))
               // ...
               .database(glueDatabase)
               .columns(List.of(Column.builder()
                       .name("col1")
                       .type(Schema.STRING)
                       .build()))
               .dataFormat(DataFormat.CSV)
               .build();
       

      See Also:
    • getStoredAsSubDirectories

      @Stability(Experimental) @Nullable default Boolean getStoredAsSubDirectories()
      (experimental) Indicates whether the table data is stored in subdirectories.

      Default: false

    • getTableName

      @Stability(Experimental) @Nullable default String getTableName()
      (experimental) Name of the table.

      Default: - generated by CDK.

    • builder

      @Stability(Experimental) static TableBaseProps.Builder builder()
      Returns:
      a TableBaseProps.Builder of TableBaseProps