Class TableBaseProps.Builder

java.lang.Object
software.amazon.awscdk.services.glue.alpha.TableBaseProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<TableBaseProps>
Enclosing interface:
TableBaseProps

@Stability(Experimental) public static final class TableBaseProps.Builder extends Object implements software.amazon.jsii.Builder<TableBaseProps>
A builder for TableBaseProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • columns

      @Stability(Experimental) public TableBaseProps.Builder columns(List<? extends Column> columns)
      Sets the value of TableBaseProps.getColumns()
      Parameters:
      columns - Columns of the table. This parameter is required.
      Returns:
      this
    • database

      @Stability(Experimental) public TableBaseProps.Builder database(IDatabase database)
      Parameters:
      database - Database in which to store the table. This parameter is required.
      Returns:
      this
    • dataFormat

      @Stability(Experimental) public TableBaseProps.Builder dataFormat(DataFormat dataFormat)
      Parameters:
      dataFormat - Storage type of the table's data. This parameter is required.
      Returns:
      this
    • compressed

      @Stability(Experimental) public TableBaseProps.Builder compressed(Boolean compressed)
      Parameters:
      compressed - Indicates whether the table's data is compressed or not.
      Returns:
      this
    • description

      @Stability(Experimental) public TableBaseProps.Builder description(String description)
      Parameters:
      description - Description of the table.
      Returns:
      this
    • enablePartitionFiltering

      @Stability(Experimental) public TableBaseProps.Builder enablePartitionFiltering(Boolean enablePartitionFiltering)
      Parameters:
      enablePartitionFiltering - Enables partition filtering.
      Returns:
      this
    • hasEncryptedData

      @Stability(Experimental) public TableBaseProps.Builder hasEncryptedData(Boolean hasEncryptedData)
      Parameters:
      hasEncryptedData - Whether the data stored in the table is encrypted. This sets the has_encrypted_data table parameter. Athena reads it when querying client-side (CSE-KMS) encrypted datasets; for server-side encrypted (SSE-S3 / SSE-KMS) or unencrypted data it has no effect, since Amazon S3 decrypts server-side encrypted objects transparently.

      Do not also set has_encrypted_data through parameters - use this property instead. A conflicting value in parameters is rejected.

      Returns:
      this
    • parameters

      @Stability(Experimental) public TableBaseProps.Builder parameters(Map<String,String> parameters)
      Parameters:
      parameters - 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.
      Returns:
      this
    • partitionIndexes

      @Stability(Experimental) public TableBaseProps.Builder partitionIndexes(List<? extends PartitionIndex> partitionIndexes)
      Parameters:
      partitionIndexes - 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.
      Returns:
      this
    • partitionKeys

      @Stability(Experimental) public TableBaseProps.Builder partitionKeys(List<? extends Column> partitionKeys)
      Parameters:
      partitionKeys - Partition columns of the table.
      Returns:
      this
    • partitionProjection

      @Stability(Experimental) public TableBaseProps.Builder partitionProjection(Map<String,? extends PartitionProjectionConfiguration> partitionProjection)
      Parameters:
      partitionProjection - Partition projection configuration for this table. Partition projection allows Athena to automatically add new partitions without requiring ALTER TABLE ADD PARTITION statements.
      Returns:
      this
    • storageParameters

      @Stability(Experimental) public TableBaseProps.Builder storageParameters(List<? extends StorageParameter> storageParameters)
      Parameters:
      storageParameters - 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.

      Returns:
      this
    • storedAsSubDirectories

      @Stability(Experimental) public TableBaseProps.Builder storedAsSubDirectories(Boolean storedAsSubDirectories)
      Parameters:
      storedAsSubDirectories - Indicates whether the table data is stored in subdirectories.
      Returns:
      this
    • tableName

      @Stability(Experimental) public TableBaseProps.Builder tableName(String tableName)
      Parameters:
      tableName - Name of the table.
      Returns:
      this
    • build

      @Stability(Experimental) public TableBaseProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<TableBaseProps>
      Returns:
      a new instance of TableBaseProps
      Throws:
      NullPointerException - if any required attribute was not provided