AWS Glue

2020/09/21 - AWS Glue - 1 new api methods

Changes  Adding support to update multiple partitions of a table in a single request

BatchUpdatePartition (new) Link ΒΆ

Updates one or more partitions in a batch operation.

See also: AWS API Documentation

Request Syntax

client.batch_update_partition(
    CatalogId='string',
    DatabaseName='string',
    TableName='string',
    Entries=[
        {
            'PartitionValueList': [
                'string',
            ],
            'PartitionInput': {
                'Values': [
                    'string',
                ],
                '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
                },
                'Parameters': {
                    'string': 'string'
                },
                'LastAnalyzedTime': datetime(2015, 1, 1)
            }
        },
    ]
)
type CatalogId

string

param CatalogId

The ID of the catalog in which the partition is to be updated. Currently, this should be the AWS account ID.

type DatabaseName

string

param DatabaseName

[REQUIRED]

The name of the metadata database in which the partition is to be updated.

type TableName

string

param TableName

[REQUIRED]

The name of the metadata table in which the partition is to be updated.

type Entries

list

param Entries

[REQUIRED]

A list of up to 100 BatchUpdatePartitionRequestEntry objects to update.

  • (dict) --

    A structure that contains the values and structure used to update a partition.

    • PartitionValueList (list) -- [REQUIRED]

      A list of values defining the partitions.

      • (string) --

    • PartitionInput (dict) -- [REQUIRED]

      The structure used to update a partition.

      • Values (list) --

        The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.

        The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys.

        • (string) --

      • 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) -- [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.

      • 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.

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • Errors (list) --

      The errors encountered when trying to update the requested partitions. A list of BatchUpdatePartitionFailureEntry objects.

      • (dict) --

        Contains information about a batch update partition error.

        • PartitionValueList (list) --

          A list of values defining the partitions.

          • (string) --

        • ErrorDetail (dict) --

          The details about the batch update partition error.

          • ErrorCode (string) --

            The code associated with this error.

          • ErrorMessage (string) --

            A message describing the error.