class Aws::Glue::Types::TableInput

A structure used to define a table.

@note When making an API call, you may pass TableInput

data as a hash:

    {
      name: "NameString", # required
      description: "DescriptionString",
      owner: "NameString",
      last_access_time: Time.now,
      last_analyzed_time: Time.now,
      retention: 1,
      storage_descriptor: {
        columns: [
          {
            name: "NameString", # required
            type: "ColumnTypeString",
            comment: "CommentString",
            parameters: {
              "KeyString" => "ParametersMapValue",
            },
          },
        ],
        location: "LocationString",
        input_format: "FormatString",
        output_format: "FormatString",
        compressed: false,
        number_of_buckets: 1,
        serde_info: {
          name: "NameString",
          serialization_library: "NameString",
          parameters: {
            "KeyString" => "ParametersMapValue",
          },
        },
        bucket_columns: ["NameString"],
        sort_columns: [
          {
            column: "NameString", # required
            sort_order: 1, # required
          },
        ],
        parameters: {
          "KeyString" => "ParametersMapValue",
        },
        skewed_info: {
          skewed_column_names: ["NameString"],
          skewed_column_values: ["ColumnValuesString"],
          skewed_column_value_location_maps: {
            "ColumnValuesString" => "ColumnValuesString",
          },
        },
        stored_as_sub_directories: false,
        schema_reference: {
          schema_id: {
            schema_arn: "GlueResourceArn",
            schema_name: "SchemaRegistryNameString",
            registry_name: "SchemaRegistryNameString",
          },
          schema_version_id: "SchemaVersionIdString",
          schema_version_number: 1,
        },
      },
      partition_keys: [
        {
          name: "NameString", # required
          type: "ColumnTypeString",
          comment: "CommentString",
          parameters: {
            "KeyString" => "ParametersMapValue",
          },
        },
      ],
      view_original_text: "ViewTextString",
      view_expanded_text: "ViewTextString",
      table_type: "TableTypeString",
      parameters: {
        "KeyString" => "ParametersMapValue",
      },
      target_table: {
        catalog_id: "CatalogIdString",
        database_name: "NameString",
        name: "NameString",
      },
    }

@!attribute [rw] name

The table name. For Hive compatibility, this is folded to lowercase
when it is stored.
@return [String]

@!attribute [rw] description

A description of the table.
@return [String]

@!attribute [rw] owner

The table owner.
@return [String]

@!attribute [rw] last_access_time

The last time that the table was accessed.
@return [Time]

@!attribute [rw] last_analyzed_time

The last time that column statistics were computed for this table.
@return [Time]

@!attribute [rw] retention

The retention time for this table.
@return [Integer]

@!attribute [rw] storage_descriptor

A storage descriptor containing information about the physical
storage of this table.
@return [Types::StorageDescriptor]

@!attribute [rw] 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 of
`partitionKeys` to an empty list. For example:

`"PartitionKeys": []`
@return [Array<Types::Column>]

@!attribute [rw] view_original_text

If the table is a view, the original text of the view; otherwise
`null`.
@return [String]

@!attribute [rw] view_expanded_text

If the table is a view, the expanded text of the view; otherwise
`null`.
@return [String]

@!attribute [rw] table_type

The type of this table (`EXTERNAL_TABLE`, `VIRTUAL_VIEW`, etc.).
@return [String]

@!attribute [rw] parameters

These key-value pairs define properties associated with the table.
@return [Hash<String,String>]

@!attribute [rw] target_table

A `TableIdentifier` structure that describes a target table for
resource linking.
@return [Types::TableIdentifier]

@see docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableInput AWS API Documentation

Constants

SENSITIVE