

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 S3 表目录中创建数据库和表
<a name="create-databases-tables-s3-catalog"></a>

 您可以创建数据库来组织 Apache Iceberg 表，也可以创建表来定义数据在 S3 表目录中的架构和位置。

## 创建数据库（控制台）
<a name="w2aac13c27c25b5b1"></a>

1.  在上打开 Lake Formation 控制台 [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)，然后以数据湖管理员或数据库创建者的身份登录。

1. 在导航窗格的 **Data Catalog** 下，选择**数据库**。

1. 选择**创建数据库**。

1.  在**创建数据库**页面上，选择**数据库**选项，然后输入以下详细信息：
   + **名称**：输入数据库的唯一名称。
   + **数据目录**：选择 S3 表目录。数据库将位于此目录中。
   + **描述**：（可选）添加描述和位置。
   + **新表的 IAM 访问控制**：可以选择“仅对此数据库中的新表使用 IAM 访问控制”。有关此选项的信息，请参阅[更改数据湖的默认设置](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html)部分。
   + 选择**创建数据库**。您可以看到创建的数据库在 S3 表目录下面。

## 使用创建数据库 AWS CLI
<a name="w2aac13c27c25b5b3"></a>

以下 CLI 命令显示如何在 S3 表目录中创建数据库。

```
aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'
```

## 创建表（AWS 管理控制台）
<a name="w2aac13c27c25b5b5"></a>

 你可以使用 Lake Formation 控制台或 API 在 S3 表目录中创建 Apache Iceberg 元数据表。 AWS Glue `CreateTable`

1. 在上打开 Lake Formation 控制台 [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)，然后以数据湖管理员或具有`CreateTable`权限的用户身份登录。

1. 在导航窗格的 Data Catalog 下，选择**表**。

1. 选择“创建表”。

1. 在**创建表**页面上，输入表的详细信息：  
![\[S3 表目录\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **表名称**：输入表的唯一名称。
   + **目录**：选择 S3 表目录作为目录。
   + **数据库**：选择 S3 表目录下的数据库。
   +  **描述**：输入表的描述。
   + **架构**：选择“添加列”以添加列和列的数据类型。您可以选择创建一个空表，然后稍后更新架构。Iceberg 允许您在创建表后演变架构和分区。您可以使用 Athena 查询更新表架构，使用 Spark 查询更新分区。

1. 选择**提交**。

## 创建表（AWS CLI）
<a name="w2aac13c27c25b5b7"></a>

```
aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'
```