创建受管表 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建受管表

受管理的表提供了多项高级功能Amazon Lake Formation,包括对 ACID(原子、一致、隔离和持久)事务、自动数据压缩和时间旅行查询的支持。仅对 Amazon S3 中存储的数据支持受管表。

您可以使用Amazon Lake Formation控制台,Amazon GlueAPI,或者Amazon Command Line Interface(Amazon CLI)。

有关受管表的更多信息,请参阅Lake Formation 中受管理的表.

Console
  1. 确保满足创建受管理表的所有先决条件。有关更多信息,请参阅 受管表的先决条件

  2. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    以数据湖管理员或拥有 Lake Formation 的用户身份登录CREATE_TABLE对目标数据库的权限以及谁拥有glue:CreateTable Amazon Identity and Access Management(IAM) 权限。

  3. 在导航窗格的 Data catalog (数据目录) 中,请选择 Tables (表)。然后选择 。创建表.

  4. 填写创建表表单,然后指定以下内容:

    • UNDER数据管理和安全,启用启用受管控的数据访问和管理.

    • UNDER数据存储中,指定向 Lake Formation 注册的 Amazon S3 位置。

Amazon Glue CLI/SDK
  1. 确保满足创建受管理表的所有先决条件。有关更多信息,请参阅 受管表的先决条件

  2. TableInput你提供给CreateTable操作,包括TableType=GOVERNED,然后指定向 Lake Formation 注册的 Amazon S3 位置。

    有关更多信息,请参阅 https://docs.amazonaws.cn/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-TableInput 开发人员指南 中的 Amazon GlueTableInput 结构

以下是 Python 中的一个例子:

aws glue create-table --database-name default --table-input '{ "Name":"product_table", "Description":"product table for manual entries.", "StorageDescriptor":{ "Columns":[ { "Name":"product_id", "Type":"string" }, { "Name":"product_name", "Type":"string" } ], "Location":"s3://my_bucket_name/dbs/product_table/", "InputFormat":"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat", "OutputFormat":"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat", "Compressed":false, "NumberOfBuckets":0, "SerdeInfo":{ "SerializationLibrary":"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe", "Parameters":{ } }, "SortColumns":[ ], "StoredAsSubDirectories":false }, "TableType":"GOVERNED", "Parameters":{ "classification":"parquet", "lakeformation.aso.status":"true" } }'
Athena

有关使用 Athena 创建受管表的说明,请参阅。开始使用中的Amazon Athena 用户指南.

以下是示例:

CREATE TABLE productsdb.product_table( product_id string, product_name string) STORED AS PARQUET LOCATION 's3://DOC-EXAMPLE-BUCKET/governed-folder' TBLPROPERTIES ( 'table_type'='LAKEFORMATION_GOVERNED', 'classification'='parquet' )