AWS Glue

2021/11/30 - AWS Glue - 7 updated api methods

Changes  Support for DataLake transactions

BatchDeleteTable (updated) Link ¶
Changes (request)
{'TransactionId': 'string'}

Deletes multiple tables at once.

Note

After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling BatchDeleteTable , use DeleteTableVersion or BatchDeleteTableVersion , and DeletePartition or BatchDeletePartition , to delete any resources that belong to the table.

See also: AWS API Documentation

Request Syntax

client.batch_delete_table(
    CatalogId='string',
    DatabaseName='string',
    TablesToDelete=[
        'string',
    ],
    TransactionId='string'
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the catalog database in which the tables to delete reside. For Hive compatibility, this name is entirely lowercase.

type TablesToDelete

list

param TablesToDelete

[REQUIRED]

A list of the table to delete.

  • (string) --

type TransactionId

string

param TransactionId

The transaction ID at which to delete the table contents.

rtype

dict

returns

Response Syntax

{
    'Errors': [
        {
            'TableName': 'string',
            'ErrorDetail': {
                'ErrorCode': 'string',
                'ErrorMessage': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) --

    • Errors (list) --

      A list of errors encountered in attempting to delete the specified tables.

      • (dict) --

        An error record for table operations.

        • TableName (string) --

          The name of the table. For Hive compatibility, this must be entirely lowercase.

        • ErrorDetail (dict) --

          The details about the error.

          • ErrorCode (string) --

            The code associated with this error.

          • ErrorMessage (string) --

            A message describing the error.

CreateTable (updated) Link ¶
Changes (request)
{'TransactionId': 'string'}

Creates a new table definition in the Data Catalog.

See also: AWS API Documentation

Request Syntax

client.create_table(
    CatalogId='string',
    DatabaseName='string',
    TableInput={
        'Name': 'string',
        'Description': 'string',
        'Owner': 'string',
        'LastAccessTime': datetime(2015, 1, 1),
        'LastAnalyzedTime': datetime(2015, 1, 1),
        'Retention': 123,
        'StorageDescriptor': {
            'Columns': [
                {
                    'Name': 'string',
                    'Type': 'string',
                    'Comment': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
            ],
            'Location': 'string',
            'InputFormat': 'string',
            'OutputFormat': 'string',
            'Compressed': True|False,
            'NumberOfBuckets': 123,
            'SerdeInfo': {
                'Name': 'string',
                'SerializationLibrary': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
            'BucketColumns': [
                'string',
            ],
            'SortColumns': [
                {
                    'Column': 'string',
                    'SortOrder': 123
                },
            ],
            'Parameters': {
                'string': 'string'
            },
            'SkewedInfo': {
                'SkewedColumnNames': [
                    'string',
                ],
                'SkewedColumnValues': [
                    'string',
                ],
                'SkewedColumnValueLocationMaps': {
                    'string': 'string'
                }
            },
            'StoredAsSubDirectories': True|False,
            'SchemaReference': {
                'SchemaId': {
                    'SchemaArn': 'string',
                    'SchemaName': 'string',
                    'RegistryName': 'string'
                },
                'SchemaVersionId': 'string',
                'SchemaVersionNumber': 123
            }
        },
        'PartitionKeys': [
            {
                'Name': 'string',
                'Type': 'string',
                'Comment': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
        ],
        'ViewOriginalText': 'string',
        'ViewExpandedText': 'string',
        'TableType': 'string',
        'Parameters': {
            'string': 'string'
        },
        'TargetTable': {
            'CatalogId': 'string',
            'DatabaseName': 'string',
            'Name': 'string'
        }
    },
    PartitionIndexes=[
        {
            'Keys': [
                'string',
            ],
            'IndexName': 'string'
        },
    ],
    TransactionId='string'
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog in which to create the Table . If none is supplied, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

type TableInput

dict

param TableInput

[REQUIRED]

The TableInput object that defines the metadata table to create in the catalog.

  • Name (string) -- [REQUIRED]

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

  • Description (string) --

    A description of the table.

  • Owner (string) --

    The table owner.

  • LastAccessTime (datetime) --

    The last time that the table was accessed.

  • LastAnalyzedTime (datetime) --

    The last time that column statistics were computed for this table.

  • Retention (integer) --

    The retention time for this table.

  • StorageDescriptor (dict) --

    A storage descriptor containing information about the physical storage of this table.

    • Columns (list) --

      A list of the Columns in the table.

      • (dict) --

        A column in a Table .

        • Name (string) -- [REQUIRED]

          The name of the Column .

        • Type (string) --

          The data type of the Column .

        • Comment (string) --

          A free-form text comment.

        • Parameters (dict) --

          These key-value pairs define properties associated with the column.

          • (string) --

            • (string) --

    • Location (string) --

      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.

    • InputFormat (string) --

      The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

    • OutputFormat (string) --

      The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

    • Compressed (boolean) --

      True if the data in the table is compressed, or False if not.

    • NumberOfBuckets (integer) --

      Must be specified if the table contains any dimension columns.

    • SerdeInfo (dict) --

      The serialization/deserialization (SerDe) information.

      • Name (string) --

        Name of the SerDe.

      • SerializationLibrary (string) --

        Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe .

      • Parameters (dict) --

        These key-value pairs define initialization parameters for the SerDe.

        • (string) --

          • (string) --

    • BucketColumns (list) --

      A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

      • (string) --

    • SortColumns (list) --

      A list specifying the sort order of each bucket in the table.

      • (dict) --

        Specifies the sort order of a sorted column.

        • Column (string) -- [REQUIRED]

          The name of the column.

        • SortOrder (integer) -- [REQUIRED]

          Indicates that the column is sorted in ascending order ( == 1 ), or in descending order ( ==0 ).

    • Parameters (dict) --

      The user-supplied properties in key-value form.

      • (string) --

        • (string) --

    • SkewedInfo (dict) --

      The information about values that appear frequently in a column (skewed values).

      • SkewedColumnNames (list) --

        A list of names of columns that contain skewed values.

        • (string) --

      • SkewedColumnValues (list) --

        A list of values that appear so frequently as to be considered skewed.

        • (string) --

      • SkewedColumnValueLocationMaps (dict) --

        A mapping of skewed values to the columns that contain them.

        • (string) --

          • (string) --

    • StoredAsSubDirectories (boolean) --

      True if the table data is stored in subdirectories, or False if not.

    • SchemaReference (dict) --

      An object that references a schema stored in the Glue Schema Registry.

      When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

      • SchemaId (dict) --

        A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

        • SchemaArn (string) --

          The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

        • SchemaName (string) --

          The name of the schema. One of SchemaArn or SchemaName has to be provided.

        • RegistryName (string) --

          The name of the schema registry that contains the schema.

      • SchemaVersionId (string) --

        The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

      • SchemaVersionNumber (integer) --

        The version number of the schema.

  • PartitionKeys (list) --

    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": []

    • (dict) --

      A column in a Table .

      • Name (string) -- [REQUIRED]

        The name of the Column .

      • Type (string) --

        The data type of the Column .

      • Comment (string) --

        A free-form text comment.

      • Parameters (dict) --

        These key-value pairs define properties associated with the column.

        • (string) --

          • (string) --

  • ViewOriginalText (string) --

    If the table is a view, the original text of the view; otherwise null .

  • ViewExpandedText (string) --

    If the table is a view, the expanded text of the view; otherwise null .

  • TableType (string) --

    The type of this table ( EXTERNAL_TABLE , VIRTUAL_VIEW , etc.).

  • Parameters (dict) --

    These key-value pairs define properties associated with the table.

    • (string) --

      • (string) --

  • TargetTable (dict) --

    A TableIdentifier structure that describes a target table for resource linking.

    • CatalogId (string) --

      The ID of the Data Catalog in which the table resides.

    • DatabaseName (string) --

      The name of the catalog database that contains the target table.

    • Name (string) --

      The name of the target table.

type PartitionIndexes

list

param PartitionIndexes

A list of partition indexes, PartitionIndex structures, to create in the table.

  • (dict) --

    A structure for a partition index.

    • Keys (list) -- [REQUIRED]

      The keys for the partition index.

      • (string) --

    • IndexName (string) -- [REQUIRED]

      The name of the partition index.

type TransactionId

string

param TransactionId

The ID of the transaction.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DeleteTable (updated) Link ¶
Changes (request)
{'TransactionId': 'string'}

Removes a table definition from the Data Catalog.

Note

After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling DeleteTable , use DeleteTableVersion or BatchDeleteTableVersion , and DeletePartition or BatchDeletePartition , to delete any resources that belong to the table.

See also: AWS API Documentation

Request Syntax

client.delete_table(
    CatalogId='string',
    DatabaseName='string',
    Name='string',
    TransactionId='string'
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

type Name

string

param Name

[REQUIRED]

The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase.

type TransactionId

string

param TransactionId

The transaction ID at which to delete the table contents.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

GetPartitions (updated) Link ¶
Changes (request)
{'QueryAsOfTime': 'timestamp', 'TransactionId': 'string'}

Retrieves information about the partitions in a table.

See also: AWS API Documentation

Request Syntax

client.get_partitions(
    CatalogId='string',
    DatabaseName='string',
    TableName='string',
    Expression='string',
    NextToken='string',
    Segment={
        'SegmentNumber': 123,
        'TotalSegments': 123
    },
    MaxResults=123,
    ExcludeColumnSchema=True|False,
    TransactionId='string',
    QueryAsOfTime=datetime(2015, 1, 1)
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the catalog database where the partitions reside.

type TableName

string

param TableName

[REQUIRED]

The name of the partitions' table.

type Expression

string

param Expression

An expression that filters the partitions to be returned.

The expression uses SQL syntax similar to the SQL WHERE filter clause. The SQL statement parser JSQLParser parses the expression.

Operators : The following are the operators that you can use in the Expression API call:

=

Checks whether the values of the two operands are equal; if yes, then the condition becomes true.

Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

(a = b) is not true.

< >

Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.

Example: (a < > b) is true.

>

Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.

Example: (a > b) is not true.

<

Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.

Example: (a < b) is true.

>=

Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.

Example: (a >= b) is not true.

<=

Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.

Example: (a <= b) is true.

AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL

Logical operators.

Supported Partition Key Types : The following are the supported partition keys.

  • string

  • date

  • timestamp

  • int

  • bigint

  • long

  • tinyint

  • smallint

  • decimal

If an type is encountered that is not valid, an exception is thrown.

The following list shows the valid operators on each type. When you define a crawler, the partitionKey type is created as a STRING , to be compatible with the catalog partitions.

Sample API Call :

type NextToken

string

param NextToken

A continuation token, if this is not the first call to retrieve these partitions.

type Segment

dict

param Segment

The segment of the table's partitions to scan in this request.

  • SegmentNumber (integer) -- [REQUIRED]

    The zero-based index number of the segment. For example, if the total number of segments is 4, SegmentNumber values range from 0 through 3.

  • TotalSegments (integer) -- [REQUIRED]

    The total number of segments.

type MaxResults

integer

param MaxResults

The maximum number of partitions to return in a single response.

type ExcludeColumnSchema

boolean

param ExcludeColumnSchema

When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.

type TransactionId

string

param TransactionId

The transaction ID at which to read the partition contents.

type QueryAsOfTime

datetime

param QueryAsOfTime

The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId .

rtype

dict

returns

Response Syntax

{
    'Partitions': [
        {
            'Values': [
                'string',
            ],
            'DatabaseName': 'string',
            'TableName': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'LastAccessTime': datetime(2015, 1, 1),
            'StorageDescriptor': {
                'Columns': [
                    {
                        'Name': 'string',
                        'Type': 'string',
                        'Comment': 'string',
                        'Parameters': {
                            'string': 'string'
                        }
                    },
                ],
                'Location': 'string',
                'InputFormat': 'string',
                'OutputFormat': 'string',
                'Compressed': True|False,
                'NumberOfBuckets': 123,
                'SerdeInfo': {
                    'Name': 'string',
                    'SerializationLibrary': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
                'BucketColumns': [
                    'string',
                ],
                'SortColumns': [
                    {
                        'Column': 'string',
                        'SortOrder': 123
                    },
                ],
                'Parameters': {
                    'string': 'string'
                },
                'SkewedInfo': {
                    'SkewedColumnNames': [
                        'string',
                    ],
                    'SkewedColumnValues': [
                        'string',
                    ],
                    'SkewedColumnValueLocationMaps': {
                        'string': 'string'
                    }
                },
                'StoredAsSubDirectories': True|False,
                'SchemaReference': {
                    'SchemaId': {
                        'SchemaArn': 'string',
                        'SchemaName': 'string',
                        'RegistryName': 'string'
                    },
                    'SchemaVersionId': 'string',
                    'SchemaVersionNumber': 123
                }
            },
            'Parameters': {
                'string': 'string'
            },
            'LastAnalyzedTime': datetime(2015, 1, 1),
            'CatalogId': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Partitions (list) --

      A list of requested partitions.

      • (dict) --

        Represents a slice of table data.

        • Values (list) --

          The values of the partition.

          • (string) --

        • DatabaseName (string) --

          The name of the catalog database in which to create the partition.

        • TableName (string) --

          The name of the database table in which to create the partition.

        • CreationTime (datetime) --

          The time at which the partition was created.

        • LastAccessTime (datetime) --

          The last time at which the partition was accessed.

        • StorageDescriptor (dict) --

          Provides information about the physical location where the partition is stored.

          • Columns (list) --

            A list of the Columns in the table.

            • (dict) --

              A column in a Table .

              • Name (string) --

                The name of the Column .

              • Type (string) --

                The data type of the Column .

              • Comment (string) --

                A free-form text comment.

              • Parameters (dict) --

                These key-value pairs define properties associated with the column.

                • (string) --

                  • (string) --

          • Location (string) --

            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.

          • InputFormat (string) --

            The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

          • OutputFormat (string) --

            The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

          • Compressed (boolean) --

            True if the data in the table is compressed, or False if not.

          • NumberOfBuckets (integer) --

            Must be specified if the table contains any dimension columns.

          • SerdeInfo (dict) --

            The serialization/deserialization (SerDe) information.

            • Name (string) --

              Name of the SerDe.

            • SerializationLibrary (string) --

              Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe .

            • Parameters (dict) --

              These key-value pairs define initialization parameters for the SerDe.

              • (string) --

                • (string) --

          • BucketColumns (list) --

            A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

            • (string) --

          • SortColumns (list) --

            A list specifying the sort order of each bucket in the table.

            • (dict) --

              Specifies the sort order of a sorted column.

              • Column (string) --

                The name of the column.

              • SortOrder (integer) --

                Indicates that the column is sorted in ascending order ( == 1 ), or in descending order ( ==0 ).

          • Parameters (dict) --

            The user-supplied properties in key-value form.

            • (string) --

              • (string) --

          • SkewedInfo (dict) --

            The information about values that appear frequently in a column (skewed values).

            • SkewedColumnNames (list) --

              A list of names of columns that contain skewed values.

              • (string) --

            • SkewedColumnValues (list) --

              A list of values that appear so frequently as to be considered skewed.

              • (string) --

            • SkewedColumnValueLocationMaps (dict) --

              A mapping of skewed values to the columns that contain them.

              • (string) --

                • (string) --

          • StoredAsSubDirectories (boolean) --

            True if the table data is stored in subdirectories, or False if not.

          • SchemaReference (dict) --

            An object that references a schema stored in the Glue Schema Registry.

            When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

            • SchemaId (dict) --

              A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

              • SchemaArn (string) --

                The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

              • SchemaName (string) --

                The name of the schema. One of SchemaArn or SchemaName has to be provided.

              • RegistryName (string) --

                The name of the schema registry that contains the schema.

            • SchemaVersionId (string) --

              The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

            • SchemaVersionNumber (integer) --

              The version number of the schema.

        • Parameters (dict) --

          These key-value pairs define partition parameters.

          • (string) --

            • (string) --

        • LastAnalyzedTime (datetime) --

          The last time at which column statistics were computed for this partition.

        • CatalogId (string) --

          The ID of the Data Catalog in which the partition resides.

    • NextToken (string) --

      A continuation token, if the returned list of partitions does not include the last one.

GetTable (updated) Link ¶
Changes (request)
{'QueryAsOfTime': 'timestamp', 'TransactionId': 'string'}

Retrieves the Table definition in a Data Catalog for a specified table.

See also: AWS API Documentation

Request Syntax

client.get_table(
    CatalogId='string',
    DatabaseName='string',
    Name='string',
    TransactionId='string',
    QueryAsOfTime=datetime(2015, 1, 1)
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

type Name

string

param Name

[REQUIRED]

The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase.

type TransactionId

string

param TransactionId

The transaction ID at which to read the table contents.

type QueryAsOfTime

datetime

param QueryAsOfTime

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId .

rtype

dict

returns

Response Syntax

{
    'Table': {
        'Name': 'string',
        'DatabaseName': 'string',
        'Description': 'string',
        'Owner': 'string',
        'CreateTime': datetime(2015, 1, 1),
        'UpdateTime': datetime(2015, 1, 1),
        'LastAccessTime': datetime(2015, 1, 1),
        'LastAnalyzedTime': datetime(2015, 1, 1),
        'Retention': 123,
        'StorageDescriptor': {
            'Columns': [
                {
                    'Name': 'string',
                    'Type': 'string',
                    'Comment': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
            ],
            'Location': 'string',
            'InputFormat': 'string',
            'OutputFormat': 'string',
            'Compressed': True|False,
            'NumberOfBuckets': 123,
            'SerdeInfo': {
                'Name': 'string',
                'SerializationLibrary': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
            'BucketColumns': [
                'string',
            ],
            'SortColumns': [
                {
                    'Column': 'string',
                    'SortOrder': 123
                },
            ],
            'Parameters': {
                'string': 'string'
            },
            'SkewedInfo': {
                'SkewedColumnNames': [
                    'string',
                ],
                'SkewedColumnValues': [
                    'string',
                ],
                'SkewedColumnValueLocationMaps': {
                    'string': 'string'
                }
            },
            'StoredAsSubDirectories': True|False,
            'SchemaReference': {
                'SchemaId': {
                    'SchemaArn': 'string',
                    'SchemaName': 'string',
                    'RegistryName': 'string'
                },
                'SchemaVersionId': 'string',
                'SchemaVersionNumber': 123
            }
        },
        'PartitionKeys': [
            {
                'Name': 'string',
                'Type': 'string',
                'Comment': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
        ],
        'ViewOriginalText': 'string',
        'ViewExpandedText': 'string',
        'TableType': 'string',
        'Parameters': {
            'string': 'string'
        },
        'CreatedBy': 'string',
        'IsRegisteredWithLakeFormation': True|False,
        'TargetTable': {
            'CatalogId': 'string',
            'DatabaseName': 'string',
            'Name': 'string'
        },
        'CatalogId': 'string'
    }
}

Response Structure

  • (dict) --

    • Table (dict) --

      The Table object that defines the specified table.

      • Name (string) --

        The table name. For Hive compatibility, this must be entirely lowercase.

      • DatabaseName (string) --

        The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase.

      • Description (string) --

        A description of the table.

      • Owner (string) --

        The owner of the table.

      • CreateTime (datetime) --

        The time when the table definition was created in the Data Catalog.

      • UpdateTime (datetime) --

        The last time that the table was updated.

      • LastAccessTime (datetime) --

        The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable.

      • LastAnalyzedTime (datetime) --

        The last time that column statistics were computed for this table.

      • Retention (integer) --

        The retention time for this table.

      • StorageDescriptor (dict) --

        A storage descriptor containing information about the physical storage of this table.

        • Columns (list) --

          A list of the Columns in the table.

          • (dict) --

            A column in a Table .

            • Name (string) --

              The name of the Column .

            • Type (string) --

              The data type of the Column .

            • Comment (string) --

              A free-form text comment.

            • Parameters (dict) --

              These key-value pairs define properties associated with the column.

              • (string) --

                • (string) --

        • Location (string) --

          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.

        • InputFormat (string) --

          The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

        • OutputFormat (string) --

          The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

        • Compressed (boolean) --

          True if the data in the table is compressed, or False if not.

        • NumberOfBuckets (integer) --

          Must be specified if the table contains any dimension columns.

        • SerdeInfo (dict) --

          The serialization/deserialization (SerDe) information.

          • Name (string) --

            Name of the SerDe.

          • SerializationLibrary (string) --

            Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe .

          • Parameters (dict) --

            These key-value pairs define initialization parameters for the SerDe.

            • (string) --

              • (string) --

        • BucketColumns (list) --

          A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

          • (string) --

        • SortColumns (list) --

          A list specifying the sort order of each bucket in the table.

          • (dict) --

            Specifies the sort order of a sorted column.

            • Column (string) --

              The name of the column.

            • SortOrder (integer) --

              Indicates that the column is sorted in ascending order ( == 1 ), or in descending order ( ==0 ).

        • Parameters (dict) --

          The user-supplied properties in key-value form.

          • (string) --

            • (string) --

        • SkewedInfo (dict) --

          The information about values that appear frequently in a column (skewed values).

          • SkewedColumnNames (list) --

            A list of names of columns that contain skewed values.

            • (string) --

          • SkewedColumnValues (list) --

            A list of values that appear so frequently as to be considered skewed.

            • (string) --

          • SkewedColumnValueLocationMaps (dict) --

            A mapping of skewed values to the columns that contain them.

            • (string) --

              • (string) --

        • StoredAsSubDirectories (boolean) --

          True if the table data is stored in subdirectories, or False if not.

        • SchemaReference (dict) --

          An object that references a schema stored in the Glue Schema Registry.

          When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

          • SchemaId (dict) --

            A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

            • SchemaArn (string) --

              The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

            • SchemaName (string) --

              The name of the schema. One of SchemaArn or SchemaName has to be provided.

            • RegistryName (string) --

              The name of the schema registry that contains the schema.

          • SchemaVersionId (string) --

            The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

          • SchemaVersionNumber (integer) --

            The version number of the schema.

      • PartitionKeys (list) --

        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": []

        • (dict) --

          A column in a Table .

          • Name (string) --

            The name of the Column .

          • Type (string) --

            The data type of the Column .

          • Comment (string) --

            A free-form text comment.

          • Parameters (dict) --

            These key-value pairs define properties associated with the column.

            • (string) --

              • (string) --

      • ViewOriginalText (string) --

        If the table is a view, the original text of the view; otherwise null .

      • ViewExpandedText (string) --

        If the table is a view, the expanded text of the view; otherwise null .

      • TableType (string) --

        The type of this table ( EXTERNAL_TABLE , VIRTUAL_VIEW , etc.).

      • Parameters (dict) --

        These key-value pairs define properties associated with the table.

        • (string) --

          • (string) --

      • CreatedBy (string) --

        The person or entity who created the table.

      • IsRegisteredWithLakeFormation (boolean) --

        Indicates whether the table has been registered with Lake Formation.

      • TargetTable (dict) --

        A TableIdentifier structure that describes a target table for resource linking.

        • CatalogId (string) --

          The ID of the Data Catalog in which the table resides.

        • DatabaseName (string) --

          The name of the catalog database that contains the target table.

        • Name (string) --

          The name of the target table.

      • CatalogId (string) --

        The ID of the Data Catalog in which the table resides.

GetTables (updated) Link ¶
Changes (request)
{'QueryAsOfTime': 'timestamp', 'TransactionId': 'string'}

Retrieves the definitions of some or all of the tables in a given Database .

See also: AWS API Documentation

Request Syntax

client.get_tables(
    CatalogId='string',
    DatabaseName='string',
    Expression='string',
    NextToken='string',
    MaxResults=123,
    TransactionId='string',
    QueryAsOfTime=datetime(2015, 1, 1)
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.

type Expression

string

param Expression

A regular expression pattern. If present, only those tables whose names match the pattern are returned.

type NextToken

string

param NextToken

A continuation token, included if this is a continuation call.

type MaxResults

integer

param MaxResults

The maximum number of tables to return in a single response.

type TransactionId

string

param TransactionId

The transaction ID at which to read the table contents.

type QueryAsOfTime

datetime

param QueryAsOfTime

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId .

rtype

dict

returns

Response Syntax

{
    'TableList': [
        {
            'Name': 'string',
            'DatabaseName': 'string',
            'Description': 'string',
            'Owner': 'string',
            'CreateTime': datetime(2015, 1, 1),
            'UpdateTime': datetime(2015, 1, 1),
            'LastAccessTime': datetime(2015, 1, 1),
            'LastAnalyzedTime': datetime(2015, 1, 1),
            'Retention': 123,
            'StorageDescriptor': {
                'Columns': [
                    {
                        'Name': 'string',
                        'Type': 'string',
                        'Comment': 'string',
                        'Parameters': {
                            'string': 'string'
                        }
                    },
                ],
                'Location': 'string',
                'InputFormat': 'string',
                'OutputFormat': 'string',
                'Compressed': True|False,
                'NumberOfBuckets': 123,
                'SerdeInfo': {
                    'Name': 'string',
                    'SerializationLibrary': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
                'BucketColumns': [
                    'string',
                ],
                'SortColumns': [
                    {
                        'Column': 'string',
                        'SortOrder': 123
                    },
                ],
                'Parameters': {
                    'string': 'string'
                },
                'SkewedInfo': {
                    'SkewedColumnNames': [
                        'string',
                    ],
                    'SkewedColumnValues': [
                        'string',
                    ],
                    'SkewedColumnValueLocationMaps': {
                        'string': 'string'
                    }
                },
                'StoredAsSubDirectories': True|False,
                'SchemaReference': {
                    'SchemaId': {
                        'SchemaArn': 'string',
                        'SchemaName': 'string',
                        'RegistryName': 'string'
                    },
                    'SchemaVersionId': 'string',
                    'SchemaVersionNumber': 123
                }
            },
            'PartitionKeys': [
                {
                    'Name': 'string',
                    'Type': 'string',
                    'Comment': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
            ],
            'ViewOriginalText': 'string',
            'ViewExpandedText': 'string',
            'TableType': 'string',
            'Parameters': {
                'string': 'string'
            },
            'CreatedBy': 'string',
            'IsRegisteredWithLakeFormation': True|False,
            'TargetTable': {
                'CatalogId': 'string',
                'DatabaseName': 'string',
                'Name': 'string'
            },
            'CatalogId': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • TableList (list) --

      A list of the requested Table objects.

      • (dict) --

        Represents a collection of related data organized in columns and rows.

        • Name (string) --

          The table name. For Hive compatibility, this must be entirely lowercase.

        • DatabaseName (string) --

          The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase.

        • Description (string) --

          A description of the table.

        • Owner (string) --

          The owner of the table.

        • CreateTime (datetime) --

          The time when the table definition was created in the Data Catalog.

        • UpdateTime (datetime) --

          The last time that the table was updated.

        • LastAccessTime (datetime) --

          The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable.

        • LastAnalyzedTime (datetime) --

          The last time that column statistics were computed for this table.

        • Retention (integer) --

          The retention time for this table.

        • StorageDescriptor (dict) --

          A storage descriptor containing information about the physical storage of this table.

          • Columns (list) --

            A list of the Columns in the table.

            • (dict) --

              A column in a Table .

              • Name (string) --

                The name of the Column .

              • Type (string) --

                The data type of the Column .

              • Comment (string) --

                A free-form text comment.

              • Parameters (dict) --

                These key-value pairs define properties associated with the column.

                • (string) --

                  • (string) --

          • Location (string) --

            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.

          • InputFormat (string) --

            The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

          • OutputFormat (string) --

            The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

          • Compressed (boolean) --

            True if the data in the table is compressed, or False if not.

          • NumberOfBuckets (integer) --

            Must be specified if the table contains any dimension columns.

          • SerdeInfo (dict) --

            The serialization/deserialization (SerDe) information.

            • Name (string) --

              Name of the SerDe.

            • SerializationLibrary (string) --

              Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe .

            • Parameters (dict) --

              These key-value pairs define initialization parameters for the SerDe.

              • (string) --

                • (string) --

          • BucketColumns (list) --

            A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

            • (string) --

          • SortColumns (list) --

            A list specifying the sort order of each bucket in the table.

            • (dict) --

              Specifies the sort order of a sorted column.

              • Column (string) --

                The name of the column.

              • SortOrder (integer) --

                Indicates that the column is sorted in ascending order ( == 1 ), or in descending order ( ==0 ).

          • Parameters (dict) --

            The user-supplied properties in key-value form.

            • (string) --

              • (string) --

          • SkewedInfo (dict) --

            The information about values that appear frequently in a column (skewed values).

            • SkewedColumnNames (list) --

              A list of names of columns that contain skewed values.

              • (string) --

            • SkewedColumnValues (list) --

              A list of values that appear so frequently as to be considered skewed.

              • (string) --

            • SkewedColumnValueLocationMaps (dict) --

              A mapping of skewed values to the columns that contain them.

              • (string) --

                • (string) --

          • StoredAsSubDirectories (boolean) --

            True if the table data is stored in subdirectories, or False if not.

          • SchemaReference (dict) --

            An object that references a schema stored in the Glue Schema Registry.

            When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

            • SchemaId (dict) --

              A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

              • SchemaArn (string) --

                The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

              • SchemaName (string) --

                The name of the schema. One of SchemaArn or SchemaName has to be provided.

              • RegistryName (string) --

                The name of the schema registry that contains the schema.

            • SchemaVersionId (string) --

              The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

            • SchemaVersionNumber (integer) --

              The version number of the schema.

        • PartitionKeys (list) --

          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": []

          • (dict) --

            A column in a Table .

            • Name (string) --

              The name of the Column .

            • Type (string) --

              The data type of the Column .

            • Comment (string) --

              A free-form text comment.

            • Parameters (dict) --

              These key-value pairs define properties associated with the column.

              • (string) --

                • (string) --

        • ViewOriginalText (string) --

          If the table is a view, the original text of the view; otherwise null .

        • ViewExpandedText (string) --

          If the table is a view, the expanded text of the view; otherwise null .

        • TableType (string) --

          The type of this table ( EXTERNAL_TABLE , VIRTUAL_VIEW , etc.).

        • Parameters (dict) --

          These key-value pairs define properties associated with the table.

          • (string) --

            • (string) --

        • CreatedBy (string) --

          The person or entity who created the table.

        • IsRegisteredWithLakeFormation (boolean) --

          Indicates whether the table has been registered with Lake Formation.

        • TargetTable (dict) --

          A TableIdentifier structure that describes a target table for resource linking.

          • CatalogId (string) --

            The ID of the Data Catalog in which the table resides.

          • DatabaseName (string) --

            The name of the catalog database that contains the target table.

          • Name (string) --

            The name of the target table.

        • CatalogId (string) --

          The ID of the Data Catalog in which the table resides.

    • NextToken (string) --

      A continuation token, present if the current list segment is not the last.

UpdateTable (updated) Link ¶
Changes (request)
{'TransactionId': 'string'}

Updates a metadata table in the Data Catalog.

See also: AWS API Documentation

Request Syntax

client.update_table(
    CatalogId='string',
    DatabaseName='string',
    TableInput={
        'Name': 'string',
        'Description': 'string',
        'Owner': 'string',
        'LastAccessTime': datetime(2015, 1, 1),
        'LastAnalyzedTime': datetime(2015, 1, 1),
        'Retention': 123,
        'StorageDescriptor': {
            'Columns': [
                {
                    'Name': 'string',
                    'Type': 'string',
                    'Comment': 'string',
                    'Parameters': {
                        'string': 'string'
                    }
                },
            ],
            'Location': 'string',
            'InputFormat': 'string',
            'OutputFormat': 'string',
            'Compressed': True|False,
            'NumberOfBuckets': 123,
            'SerdeInfo': {
                'Name': 'string',
                'SerializationLibrary': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
            'BucketColumns': [
                'string',
            ],
            'SortColumns': [
                {
                    'Column': 'string',
                    'SortOrder': 123
                },
            ],
            'Parameters': {
                'string': 'string'
            },
            'SkewedInfo': {
                'SkewedColumnNames': [
                    'string',
                ],
                'SkewedColumnValues': [
                    'string',
                ],
                'SkewedColumnValueLocationMaps': {
                    'string': 'string'
                }
            },
            'StoredAsSubDirectories': True|False,
            'SchemaReference': {
                'SchemaId': {
                    'SchemaArn': 'string',
                    'SchemaName': 'string',
                    'RegistryName': 'string'
                },
                'SchemaVersionId': 'string',
                'SchemaVersionNumber': 123
            }
        },
        'PartitionKeys': [
            {
                'Name': 'string',
                'Type': 'string',
                'Comment': 'string',
                'Parameters': {
                    'string': 'string'
                }
            },
        ],
        'ViewOriginalText': 'string',
        'ViewExpandedText': 'string',
        'TableType': 'string',
        'Parameters': {
            'string': 'string'
        },
        'TargetTable': {
            'CatalogId': 'string',
            'DatabaseName': 'string',
            'Name': 'string'
        }
    },
    SkipArchive=True|False,
    TransactionId='string'
)
type CatalogId

string

param CatalogId

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

type TableInput

dict

param TableInput

[REQUIRED]

An updated TableInput object to define the metadata table in the catalog.

  • Name (string) -- [REQUIRED]

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

  • Description (string) --

    A description of the table.

  • Owner (string) --

    The table owner.

  • LastAccessTime (datetime) --

    The last time that the table was accessed.

  • LastAnalyzedTime (datetime) --

    The last time that column statistics were computed for this table.

  • Retention (integer) --

    The retention time for this table.

  • StorageDescriptor (dict) --

    A storage descriptor containing information about the physical storage of this table.

    • Columns (list) --

      A list of the Columns in the table.

      • (dict) --

        A column in a Table .

        • Name (string) -- [REQUIRED]

          The name of the Column .

        • Type (string) --

          The data type of the Column .

        • Comment (string) --

          A free-form text comment.

        • Parameters (dict) --

          These key-value pairs define properties associated with the column.

          • (string) --

            • (string) --

    • Location (string) --

      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.

    • InputFormat (string) --

      The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

    • OutputFormat (string) --

      The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

    • Compressed (boolean) --

      True if the data in the table is compressed, or False if not.

    • NumberOfBuckets (integer) --

      Must be specified if the table contains any dimension columns.

    • SerdeInfo (dict) --

      The serialization/deserialization (SerDe) information.

      • Name (string) --

        Name of the SerDe.

      • SerializationLibrary (string) --

        Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe .

      • Parameters (dict) --

        These key-value pairs define initialization parameters for the SerDe.

        • (string) --

          • (string) --

    • BucketColumns (list) --

      A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

      • (string) --

    • SortColumns (list) --

      A list specifying the sort order of each bucket in the table.

      • (dict) --

        Specifies the sort order of a sorted column.

        • Column (string) -- [REQUIRED]

          The name of the column.

        • SortOrder (integer) -- [REQUIRED]

          Indicates that the column is sorted in ascending order ( == 1 ), or in descending order ( ==0 ).

    • Parameters (dict) --

      The user-supplied properties in key-value form.

      • (string) --

        • (string) --

    • SkewedInfo (dict) --

      The information about values that appear frequently in a column (skewed values).

      • SkewedColumnNames (list) --

        A list of names of columns that contain skewed values.

        • (string) --

      • SkewedColumnValues (list) --

        A list of values that appear so frequently as to be considered skewed.

        • (string) --

      • SkewedColumnValueLocationMaps (dict) --

        A mapping of skewed values to the columns that contain them.

        • (string) --

          • (string) --

    • StoredAsSubDirectories (boolean) --

      True if the table data is stored in subdirectories, or False if not.

    • SchemaReference (dict) --

      An object that references a schema stored in the Glue Schema Registry.

      When creating a table, you can pass an empty list of columns for the schema, and instead use a schema reference.

      • SchemaId (dict) --

        A structure that contains schema identity fields. Either this or the SchemaVersionId has to be provided.

        • SchemaArn (string) --

          The Amazon Resource Name (ARN) of the schema. One of SchemaArn or SchemaName has to be provided.

        • SchemaName (string) --

          The name of the schema. One of SchemaArn or SchemaName has to be provided.

        • RegistryName (string) --

          The name of the schema registry that contains the schema.

      • SchemaVersionId (string) --

        The unique ID assigned to a version of the schema. Either this or the SchemaId has to be provided.

      • SchemaVersionNumber (integer) --

        The version number of the schema.

  • PartitionKeys (list) --

    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": []

    • (dict) --

      A column in a Table .

      • Name (string) -- [REQUIRED]

        The name of the Column .

      • Type (string) --

        The data type of the Column .

      • Comment (string) --

        A free-form text comment.

      • Parameters (dict) --

        These key-value pairs define properties associated with the column.

        • (string) --

          • (string) --

  • ViewOriginalText (string) --

    If the table is a view, the original text of the view; otherwise null .

  • ViewExpandedText (string) --

    If the table is a view, the expanded text of the view; otherwise null .

  • TableType (string) --

    The type of this table ( EXTERNAL_TABLE , VIRTUAL_VIEW , etc.).

  • Parameters (dict) --

    These key-value pairs define properties associated with the table.

    • (string) --

      • (string) --

  • TargetTable (dict) --

    A TableIdentifier structure that describes a target table for resource linking.

    • CatalogId (string) --

      The ID of the Data Catalog in which the table resides.

    • DatabaseName (string) --

      The name of the catalog database that contains the target table.

    • Name (string) --

      The name of the target table.

type SkipArchive

boolean

param SkipArchive

By default, UpdateTable always creates an archived version of the table before updating it. However, if skipArchive is set to true, UpdateTable does not create the archived version.

type TransactionId

string

param TransactionId

The transaction ID at which to update the table contents.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --