batch_create_partition

batch_create_partition(**kwargs)

Creates one or more partitions in a batch operation.

See also: AWS API Documentation

Request Syntax

response = client.batch_create_partition(
    CatalogId='string',
    DatabaseName='string',
    TableName='string',
    PartitionInputList=[
        {
            'Values': [
                'string',
            ],
            'LastAccessTime': datetime(2015, 1, 1),
            'StorageDescriptor': {
                'Columns': [
                    {
                        'Name': 'string',
                        'Type': 'string',
                        'Comment': 'string',
                        'Parameters': {
                            'string': 'string'
                        }
                    },
                ],
                'Location': 'string',
                'AdditionalLocations': [
                    '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)
        },
    ]
)
Parameters
  • CatalogId (string) -- The ID of the catalog in which the partition is to be created. Currently, this should be the Amazon Web Services account ID.
  • DatabaseName (string) --

    [REQUIRED]

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

  • TableName (string) --

    [REQUIRED]

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

  • PartitionInputList (list) --

    [REQUIRED]

    A list of PartitionInput structures that define the partitions to be created.

    • (dict) --

      The structure used to create and 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 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.

        • AdditionalLocations (list) --

          A list of locations that point to the path where a Delta table is located.

          • (string) --
        • 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.

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

Return type

dict

Returns

Response Syntax

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

Response Structure

  • (dict) --

    • Errors (list) --

      The errors encountered when trying to create the requested partitions.

      • (dict) --

        Contains information about a partition error.

        • PartitionValues (list) --

          The values that define the partition.

          • (string) --
        • ErrorDetail (dict) --

          The details about the partition error.

          • ErrorCode (string) --

            The code associated with this error.

          • ErrorMessage (string) --

            A message describing the error.

Exceptions

  • Glue.Client.exceptions.InvalidInputException
  • Glue.Client.exceptions.AlreadyExistsException
  • Glue.Client.exceptions.ResourceNumberLimitExceededException
  • Glue.Client.exceptions.InternalServiceException
  • Glue.Client.exceptions.EntityNotFoundException
  • Glue.Client.exceptions.OperationTimeoutException
  • Glue.Client.exceptions.GlueEncryptionException