

# 分区 API
<a name="aws-glue-api-catalog-partitions"></a>

分区 API 介绍用于处理分区的数据类型和操作。

## 数据类型
<a name="aws-glue-api-catalog-partitions-objects"></a>
+ [Partition 结构](#aws-glue-api-catalog-partitions-Partition)
+ [PartitionInput 结构](#aws-glue-api-catalog-partitions-PartitionInput)
+ [PartitionSpecWithSharedStorageDescriptor 结构](#aws-glue-api-catalog-partitions-PartitionSpecWithSharedStorageDescriptor)
+ [PartitionListComposingSpec 结构](#aws-glue-api-catalog-partitions-PartitionListComposingSpec)
+ [PartitionSpecProxy 结构](#aws-glue-api-catalog-partitions-PartitionSpecProxy)
+ [PartitionValueList 结构](#aws-glue-api-catalog-partitions-PartitionValueList)
+ [Segment 结构](#aws-glue-api-catalog-partitions-Segment)
+ [PartitionError 结构](#aws-glue-api-catalog-partitions-PartitionError)
+ [BatchUpdatePartitionFailureEntry 结构](#aws-glue-api-catalog-partitions-BatchUpdatePartitionFailureEntry)
+ [BatchUpdatePartitionRequestEntry 结构](#aws-glue-api-catalog-partitions-BatchUpdatePartitionRequestEntry)
+ [StorageDescriptor 结构](#aws-glue-api-catalog-partitions-StorageDescriptor)
+ [SchemaReference 结构](#aws-glue-api-catalog-partitions-SchemaReference)
+ [SerDeInfo 结构](#aws-glue-api-catalog-partitions-SerDeInfo)
+ [SkewedInfo 结构](#aws-glue-api-catalog-partitions-SkewedInfo)

## Partition 结构
<a name="aws-glue-api-catalog-partitions-Partition"></a>

表示表数据的一部分。

**Fields**
+ `Values` – UTF-8 字符串数组。

  分区的值。
+ `DatabaseName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的目录数据库的名称。
+ `TableName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的数据库表的名称。
+ `CreationTime` – 时间戳。

  创建分区的时间。
+ `LastAccessTime` – 时间戳。

  上次访问分区的时间。
+ `StorageDescriptor` – 一个 [StorageDescriptor](#aws-glue-api-catalog-partitions-StorageDescriptor) 对象。

  提供有关存储分区的物理位置的信息。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  每个值是一个 UTF-8 字符串，不超过 512000 个字节。

  这些键值对用于定义分区参数。
+ `LastAnalyzedTime` – 时间戳。

  上次为该分区计算列统计信息的时间。
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的数据目录的 ID。

## PartitionInput 结构
<a name="aws-glue-api-catalog-partitions-PartitionInput"></a>

用于创建和更新分区的结构。

**Fields**
+ `Values` – UTF-8 字符串数组。

  分区的值。尽管开发工具包不需要此参数，但您必须为有效输入指定此参数。

  新分区的键值必须作为字符串对象数组传递，这些对象的顺序必须与 Amazon S3 前缀中出现的分区键的顺序相同。否则，AWS Glue 会将值添加到错误的键。
+ `LastAccessTime` – 时间戳。

  上次访问分区的时间。
+ `StorageDescriptor` – 一个 [StorageDescriptor](#aws-glue-api-catalog-partitions-StorageDescriptor) 对象。

  提供有关存储分区的物理位置的信息。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  每个值是一个 UTF-8 字符串，不超过 512000 个字节。

  这些键值对用于定义分区参数。
+ `LastAnalyzedTime` – 时间戳。

  上次为该分区计算列统计信息的时间。

## PartitionSpecWithSharedStorageDescriptor 结构
<a name="aws-glue-api-catalog-partitions-PartitionSpecWithSharedStorageDescriptor"></a>

共享物理位置的分区的分区规范。

**Fields**
+ `StorageDescriptor` – 一个 [StorageDescriptor](#aws-glue-api-catalog-partitions-StorageDescriptor) 对象。

  共享的物理存储信息。
+ `Partitions` – [分区](#aws-glue-api-catalog-partitions-Partition) 对象的数组。

  共享该物理位置的分区的列表。

## PartitionListComposingSpec 结构
<a name="aws-glue-api-catalog-partitions-PartitionListComposingSpec"></a>

列出相关的分区。

**Fields**
+ `Partitions` – [分区](#aws-glue-api-catalog-partitions-Partition) 对象的数组。

  编制规范中的分区的列表。

## PartitionSpecProxy 结构
<a name="aws-glue-api-catalog-partitions-PartitionSpecProxy"></a>

提供指定分区的根路径。

**Fields**
+ `DatabaseName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库。
+ `TableName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含分区的表的名称。
+ `RootPath` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  用于寻址分区的代理的根路径。
+ `PartitionSpecWithSharedSD` – 一个 [PartitionSpecWithSharedStorageDescriptor](#aws-glue-api-catalog-partitions-PartitionSpecWithSharedStorageDescriptor) 对象。

  共享同一物理存储位置的分区的规范。
+ `PartitionListComposingSpec` – 一个 [PartitionListComposingSpec](#aws-glue-api-catalog-partitions-PartitionListComposingSpec) 对象。

  指定分区的列表。

## PartitionValueList 结构
<a name="aws-glue-api-catalog-partitions-PartitionValueList"></a>

包含定义分区的值的列表。

**Fields**
+ `Values` – *必填*：UTF-8 字符串数组。

  值的列表。

## Segment 结构
<a name="aws-glue-api-catalog-partitions-Segment"></a>

定义表分区的非重叠区域，从而允许并行运行多个请求。

**Fields**
+ `SegmentNumber` – *必填：*数字（整数），至多为“无”。

  此片段的从零开始的索引编号。例如，如果片段的总数为 4，则 `SegmentNumber` 值的范围为 0 到 3 。
+ `TotalSegments` – *必填：*数字（整数），不小于 1 或大于 10。

  片段总数。

## PartitionError 结构
<a name="aws-glue-api-catalog-partitions-PartitionError"></a>

包含有关分区错误的信息。

**Fields**
+ `PartitionValues` – UTF-8 字符串数组。

  用于定义分区的值。
+ `ErrorDetail` – 一个 [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) 对象。

  有关分区错误的详细信息。

## BatchUpdatePartitionFailureEntry 结构
<a name="aws-glue-api-catalog-partitions-BatchUpdatePartitionFailureEntry"></a>

包含有关批量更新分区错误的信息。

**Fields**
+ `PartitionValueList` – UTF-8 字符串数组，不超过 100 个字符串。

  用于定义分区的值的列表。
+ `ErrorDetail` – 一个 [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) 对象。

  有关批量更新分区错误的详细信息。

## BatchUpdatePartitionRequestEntry 结构
<a name="aws-glue-api-catalog-partitions-BatchUpdatePartitionRequestEntry"></a>

该结构包含用于更新分区的值和结构。

**Fields**
+ `PartitionValueList` – *必填：*UTF-8 字符串数组，不超过 100 个字符串。

  用于定义分区的值的列表。
+ `PartitionInput` – *必填：*一个 [PartitionInput](#aws-glue-api-catalog-partitions-PartitionInput) 对象。

  用于更新分区的结构。

## StorageDescriptor 结构
<a name="aws-glue-api-catalog-partitions-StorageDescriptor"></a>

描述表数据的物理存储。

**Fields**
+ `Columns` – [列](aws-glue-api-catalog-tables.md#aws-glue-api-catalog-tables-Column) 对象的数组。

  表中的 `Columns` 的列表。
+ `Location` – 位置字符串，不超过 2056 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  表的物理位置。默认情况下，它采用仓库位置的形式，后跟仓库中的数据库位置，然后是表名称。
+ `AdditionalLocations` – UTF-8 字符串数组。

  指向 Delta 表所在路径的位置列表。
+ `InputFormat` – 格式字符串，不超过 128 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  输入格式：`SequenceFileInputFormat`（二进制）或 `TextInputFormat` 或自定义格式。
+ `OutputFormat` – 格式字符串，不超过 128 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  输出格式：`SequenceFileOutputFormat`（二进制）、`IgnoreKeyTextOutputFormat` 或自定义格式。
+ `Compressed` – 布尔值。

  如果对表中的数据进行压缩，则为 `True`，否则为 `False`。
+ `NumberOfBuckets` – 数字（整数）。

  如果表包含任何维度列，则必须指定。
+ `SerdeInfo` – 一个 [SerDeInfo](#aws-glue-api-catalog-partitions-SerDeInfo) 对象。

  序列化/反序列化（SerDe）信息。
+ `BucketColumns` – UTF-8 字符串数组。

  表中的 Reducer 分组列、集群列以及桶列的列表。
+ `SortColumns` – [顺序](aws-glue-api-catalog-tables.md#aws-glue-api-catalog-tables-Order) 对象的数组。

  指定表中的每个桶的排序顺序的列表。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  每个值是一个 UTF-8 字符串，不超过 512000 个字节。

  使用键/值形式的用户提供的属性。
+ `SkewedInfo` – 一个 [SkewedInfo](#aws-glue-api-catalog-partitions-SkewedInfo) 对象。

  有关在列中经常出现的值（偏斜值）的信息。
+ `StoredAsSubDirectories` – 布尔值。

  如果表数据存储在子目录中，则为 `True`，否则为 `False`。
+ `SchemaReference` – 一个 [SchemaReference](#aws-glue-api-catalog-partitions-SchemaReference) 对象。

  引用存储在 AWS Glue 架构注册表中的架构的对象。

  创建表时，可以为架构传递列的空列表，而使用架构引用。

## SchemaReference 结构
<a name="aws-glue-api-catalog-partitions-SchemaReference"></a>

引用存储在 AWS Glue 架构注册表中的架构的对象。

**Fields**
+ `SchemaId` – 一个 [SchemaId](aws-glue-api-schema-registry-api.md#aws-glue-api-schema-registry-api-SchemaId) 对象。

  包含架构标识字段的结构。必须提供此值或 `SchemaVersionId`。
+ `SchemaVersionId` – UTF-8 字符串，长度不少于 36 个字节或超过 36 个字节，与 [Custom string pattern #45](aws-glue-api-common.md#regex_45) 匹配。

  分配给架构版本的唯一 ID。必须提供此值或 `SchemaId`。
+ `SchemaVersionNumber` – 数字（长度），不小于 1 或大于 100000。

  架构的版本号。

## SerDeInfo 结构
<a name="aws-glue-api-catalog-partitions-SerDeInfo"></a>

有关序列化/反序列化程序（SerDe）的信息，它用作抽取器和加载器。

**Fields**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  SerDe 的名称。
+ `SerializationLibrary` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  通常是实现 SerDe 的类。例如，`org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe`。
+ `Parameters` – 键值对的映射数组。

  每个键是一个键字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  每个值是一个 UTF-8 字符串，不超过 512000 个字节。

  这些键值对用于定义 SerDe 的初始化参数。

## SkewedInfo 结构
<a name="aws-glue-api-catalog-partitions-SkewedInfo"></a>

指定表中的偏斜值。偏斜值是指出现频率很高的值。

**Fields**
+ `SkewedColumnNames` – UTF-8 字符串数组。

  包含偏斜值的列名称的列表。
+ `SkewedColumnValues` – UTF-8 字符串数组。

  经常被认为是偏斜的值的列表。
+ `SkewedColumnValueLocationMaps` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  偏斜值到包含它们的列的映射。

## 操作
<a name="aws-glue-api-catalog-partitions-actions"></a>
+ [CreatePartition 操作（Python：create\_partition）](#aws-glue-api-catalog-partitions-CreatePartition)
+ [BatchCreatePartition 操作（Python：batch\_create\_partition）](#aws-glue-api-catalog-partitions-BatchCreatePartition)
+ [UpdatePartition 操作（Python：update\_partition）](#aws-glue-api-catalog-partitions-UpdatePartition)
+ [DeletePartition 操作（Python：delete\_partition）](#aws-glue-api-catalog-partitions-DeletePartition)
+ [BatchDeletePartition 操作（Python：batch\_delete\_partition）](#aws-glue-api-catalog-partitions-BatchDeletePartition)
+ [GetPartition 操作（Python：get\_partition）](#aws-glue-api-catalog-partitions-GetPartition)
+ [GetPartitions 操作（Python：get\_partitions）](#aws-glue-api-catalog-partitions-GetPartitions)
+ [BatchGetPartition 操作（Python：batch\_get\_partition）](#aws-glue-api-catalog-partitions-BatchGetPartition)
+ [BatchUpdatePartition 操作（Python：batch\_update\_partition）](#aws-glue-api-catalog-partitions-BatchUpdatePartition)
+ [GetColumnStatisticsForPartition 操作（Python：get\_column\_statistics\_for\_partition）](#aws-glue-api-catalog-partitions-GetColumnStatisticsForPartition)
+ [UpdateColumnStatisticsForPartition 操作（Python：update\_column\_statistics\_for\_partition）](#aws-glue-api-catalog-partitions-UpdateColumnStatisticsForPartition)
+ [DeleteColumnStatisticsForPartition 操作（Python：delete\_column\_statistics\_for\_partition）](#aws-glue-api-catalog-partitions-DeleteColumnStatisticsForPartition)

## CreatePartition 操作（Python：create\_partition）
<a name="aws-glue-api-catalog-partitions-CreatePartition"></a>

创建新的分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的目录的 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的元数据数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的元数据表的名称。
+ `PartitionInput` – *必填：*一个 [PartitionInput](#aws-glue-api-catalog-partitions-PartitionInput) 对象。

  一个用于定义要创建的分区的 `PartitionInput` 结构。

**响应**
+ *无响应参数。*

**错误**
+ `InvalidInputException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## BatchCreatePartition 操作（Python：batch\_create\_partition）
<a name="aws-glue-api-catalog-partitions-BatchCreatePartition"></a>

在批量操作中创建一个或多个分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的目录的 ID。目前，它应该为 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的元数据数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建分区的元数据表的名称。
+ `PartitionInputList` – *必填：*[PartitionInput](#aws-glue-api-catalog-partitions-PartitionInput) 对象的数组，不超过 100 个结构。

  用于定义要创建的分区的 `PartitionInput` 结构的列表。

**响应**
+ `Errors` – [PartitionError](#aws-glue-api-catalog-partitions-PartitionError) 对象的数组。

  在尝试创建请求的分区时遇到错误。

**错误**
+ `InvalidInputException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## UpdatePartition 操作（Python：update\_partition）
<a name="aws-glue-api-catalog-partitions-UpdatePartition"></a>

更新分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要更新的分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉表所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要更新的分区所在的表的名称。
+ `PartitionValueList` – *必填：*UTF-8 字符串数组，不超过 100 个字符串。

  用于定义分区更新的分区键值的列表。
+ `PartitionInput` – *必填：*一个 [PartitionInput](#aws-glue-api-catalog-partitions-PartitionInput) 对象。

  要将分区更新到的新分区对象。

  此 `Values` 属性无法更改。如果要更改分区的分区键值，请删除并重新创建分区。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## DeletePartition 操作（Python：delete\_partition）
<a name="aws-glue-api-catalog-partitions-DeletePartition"></a>

删除指定的分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉表所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含要删除的分区的表的名称。
+ `PartitionValues` – *必填*：UTF-8 字符串数组。

  用于定义分区的值。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchDeletePartition 操作（Python：batch\_delete\_partition）
<a name="aws-glue-api-catalog-partitions-BatchDeletePartition"></a>

在批量操作中删除一个或多个分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉表所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含要删除的分区的表的名称。
+ `PartitionsToDelete` – *必填：*[PartitionValueList](#aws-glue-api-catalog-partitions-PartitionValueList) 对象的数组，不超过 25 个结构。

  用于定义要删除的分区的 `PartitionInput` 结构的列表。

**响应**
+ `Errors` – [PartitionError](#aws-glue-api-catalog-partitions-PartitionError) 对象的数组。

  在尝试删除请求的分区时遇到错误。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetPartition 操作（Python：get\_partition）
<a name="aws-glue-api-catalog-partitions-GetPartition"></a>

检索有关指定分区的信息。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `PartitionValues` – *必填*：UTF-8 字符串数组。

  用于定义分区的值。

**响应**
+ `Partition` – 一个 [分区](#aws-glue-api-catalog-partitions-Partition) 对象。

  请求的信息，采用 `Partition` 对象的形式。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## GetPartitions 操作（Python：get\_partitions）
<a name="aws-glue-api-catalog-partitions-GetPartitions"></a>

检索有关表中的分区的信息。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `Expression` – 谓词字符串，不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  筛选要返回的分区的表达式。

  该表达式使用类似于 SQL `WHERE` 筛选条件子句的 SQL 语法。SQL 语句解析器 [JSQLParser](http://jsqlparser.sourceforge.net/home.php) 可解析表达式。

  *运算符*：以下是您可以在 `Expression` API 调用中使用的运算符：  
=  
检查两个操作数的值是否相等；如果是，则条件成立。  
示例：假设“变量 a”保持 10，“变量 b”保持 20。  
(a = b) 不成立。  
< >  
检查两个操作数的值是否相等；如果值不相等，则条件成立。  
示例：(a < > b) 成立。  
>  
检查左操作数的值是否大于右操作数的值；如果是，则条件成立。  
示例：(a > b) 不成立。  
<  
检查左操作数的值是否小于右操作数的值；如果是，则条件成立。  
示例：(a < b) 成立。  
>=  
检查左操作数的值是否大于或等于右操作数的值；如果是，则条件成立。  
示例：(a >= b) 不成立。  
<=  
检查左操作数的值是否小于或等于右操作数的值；如果是，则条件成立。  
示例：(a <= b) 成立。  
AND、OR、IN、BETWEEN、LIKE、NOT、IS NULL  
逻辑运算符。

  *支持的分区键类型*：以下是受支持的分区键。
  + `string`
  + `date`
  + `timestamp`
  + `int`
  + `bigint`
  + `long`
  + `tinyint`
  + `smallint`
  + `decimal`

  如果遇到无效类型，则会引发异常。

  以下列表显示了每种类型的有效运算符。定义爬网程序时，`partitionKey` 类型将创建为 `STRING`，以与目录分区兼容。

  *示例 API 调用*：  
**Example**  

  表 `twitter_partition` 有三个分区：

  ```
  year = 2015
          year = 2016
          year = 2017
  ```  
**Example**  

  获取 `year` 等于 2015 的分区

  ```
  aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year*=*'2015'"
  ```  
**Example**  

  获取 `year` 2016 至 2018 （不含）之间的分区

  ```
  aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year>'2016' AND year<'2018'"
  ```  
**Example**  

  获取 `year` 2015 至 2018（含）之间的分区 以下 API 调用彼此等效：

  ```
  aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year>='2015' AND year<='2018'"
          
          aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year BETWEEN 2015 AND 2018"
          
          aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year IN (2015,2016,2017,2018)"
  ```  
**Example**  

  通配符分区筛选条件，其中以下调用输出为分区年份=2017。`LIKE` 中不支持正则表达式。

  ```
  aws glue get-partitions --database-name dbname --table-name twitter_partition 
          --expression "year LIKE '%7'"
  ```
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果这不是检索这些分区的第一个调用)。
+ `Segment` – 一个 [客户细分](#aws-glue-api-catalog-partitions-Segment) 对象。

  要在该请求中扫描的表的片段。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要在单个响应中返回的最大分区数。
+ `ExcludeColumnSchema` – 布尔值。

  如果为真，则指定不返回分区列架构。当您只对分区值或位置等其他分区属性感兴趣时很有用。这种方法通过不返回重复数据来避免大型响应的问题。
+ `TransactionId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Custom string pattern #44](aws-glue-api-common.md#regex_44) 匹配。

  在该 ID 处读取分区内容的事务 ID。
+ `QueryAsOfTime` – 时间戳。

  截至读取分区内容的时间。如果未设置，将使用最近的事务提交时间。无法与 `TransactionId` 一起指定。

**响应**
+ `Partitions` – [分区](#aws-glue-api-catalog-partitions-Partition) 对象的数组。

  请求的分区的列表。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果返回的分区列表不包括最后一个)。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `OperationTimeoutException`
+ `InternalServiceException`
+ `GlueEncryptionException`
+ `InvalidStateException`
+ `ResourceNotReadyException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## BatchGetPartition 操作（Python：batch\_get\_partition）
<a name="aws-glue-api-catalog-partitions-BatchGetPartition"></a>

在批处理请求中检索分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `PartitionsToGet` – *必填：*[PartitionValueList](#aws-glue-api-catalog-partitions-PartitionValueList) 对象的数组，不超过 1000 个结构。

  用于标识要检索的分区的分区值的列表。

**响应**
+ `Partitions` – [分区](#aws-glue-api-catalog-partitions-Partition) 对象的数组。

  请求的分区的列表。
+ `UnprocessedKeys` – [PartitionValueList](#aws-glue-api-catalog-partitions-PartitionValueList) 对象数组，不超过 1000 个结构。

  请求中未返回分区的分区值的列表。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InternalServiceException`
+ `GlueEncryptionException`
+ `InvalidStateException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## BatchUpdatePartition 操作（Python：batch\_update\_partition）
<a name="aws-glue-api-catalog-partitions-BatchUpdatePartition"></a>

在分批操作中更新一个或多个分区。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中更新分区的目录的 ID。目前，它应该为 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中更新分区的元数据数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中更新分区的元数据表的名称。
+ `Entries` – *必填*：[BatchUpdatePartitionRequestEntry](#aws-glue-api-catalog-partitions-BatchUpdatePartitionRequestEntry)对象的数组，不少于 1 个或不超过 100 个结构。

  最多 100 个 `BatchUpdatePartitionRequestEntry` 对象进行更新的列表。

**响应**
+ `Errors` – [BatchUpdatePartitionFailureEntry](#aws-glue-api-catalog-partitions-BatchUpdatePartitionFailureEntry) 对象的数组。

  在尝试更新请求的分区时遇到错误。`BatchUpdatePartitionFailureEntry` 对象的列表。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InternalServiceException`
+ `GlueEncryptionException`

## GetColumnStatisticsForPartition 操作（Python：get\_column\_statistics\_for\_partition）
<a name="aws-glue-api-catalog-partitions-GetColumnStatisticsForPartition"></a>

检索列的分区统计数据信息。

此操作所需的 Identity and Access Management（IAM）权限是 `GetPartition`。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `PartitionValues` – *必填*：UTF-8 字符串数组。

  用于标识分区的分区值的列表。
+ `ColumnNames` – *必填：*UTF-8 字符串数组，不超过 100 个字符串。

  列名称的列表。

**响应**
+ `ColumnStatisticsList` – [ColumnStatistics](aws-glue-api-common.md#aws-glue-api-common-ColumnStatistics) 对象的数组。

  检索失败的 ColumnStatistics 的列表。
+ `Errors` – [ColumnError](aws-glue-api-common.md#aws-glue-api-common-ColumnError) 对象的数组。

  检索列统计数据时出错。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## UpdateColumnStatisticsForPartition 操作（Python：update\_column\_statistics\_for\_partition）
<a name="aws-glue-api-catalog-partitions-UpdateColumnStatisticsForPartition"></a>

创建或更新分区统计数据列信息。

此操作所需的 Identity and Access Management（IAM）权限是 `UpdatePartition`。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `PartitionValues` – *必填*：UTF-8 字符串数组。

  用于标识分区的分区值的列表。
+ `ColumnStatisticsList` – *必填：*[ColumnStatistics](aws-glue-api-common.md#aws-glue-api-common-ColumnStatistics) 对象的数组，不超过 25 个结构。

  列统计数据的列表。

**响应**
+ `Errors` – [ColumnStatisticsError](aws-glue-api-common.md#aws-glue-api-common-ColumnStatisticsError) 对象的数组。

  更新列统计数据时出错。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## DeleteColumnStatisticsForPartition 操作（Python：delete\_column\_statistics\_for\_partition）
<a name="aws-glue-api-catalog-partitions-DeleteColumnStatisticsForPartition"></a>

删除列的分区列统计数据信息。

此操作所需的 Identity and Access Management（IAM）权限是 `DeletePartition`。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  所涉分区所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区所在的目录数据库的名称。
+ `TableName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分区的表的名称。
+ `PartitionValues` – *必填*：UTF-8 字符串数组。

  用于标识分区的分区值的列表。
+ `ColumnName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  列的名称。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`