在 AWS Glue 控制台上处理表 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

在 AWS Glue 控制台上处理表

AWS Glue 数据目录中的表是表示数据存储中的数据的元数据定义。您可以在运行爬网程序时创建表,也可以在 AWS Glue 控制台中手动创建表。AWS Glue 控制台中的 Tables (表) 列表显示表的元数据值。您可以在创建 ETL (提取、转换和加载) 作业时使用表定义来指定源和目标。

要开始使用,请登录 AWS 管理控制台 并通过 https://console.amazonaws.cn/glue/ 打开 AWS Glue 控制台。选择 Tables (表) 选项卡,然后使用 Add tables (添加表) 按钮来通过爬网程序或通过手动键入属性来创建表。

在控制台上添加表

要使用爬网程序添加表,请依次选择 Add tables (添加表) 和 Add tables using a crawler (使用爬网程序添加表)。然后按照 Add crawler (添加爬网程序) 向导中的说明操作。当爬网程序运行时,会将表添加到 AWS Glue 数据目录。有关更多信息,请参阅 定义爬网程序。)

如果您知道在 Data Catalog 中创建 Amazon Simple Storage Service (Amazon S3) 表定义所需的属性,则可以使用表向导创建它。请依次选择 Add tables (添加表) 和 Add table manually (手动添加表),然后按照 Add tables (添加表) 向导中的说明操作。

在通过控制台手动添加表时,请考虑以下各项:

  • 如果您计划从 Amazon Athena 访问表,请提供只包含字母数字和下划线字符的名称。有关更多信息,请参阅 Athena 名称

  • 源数据的位置必须是 Amazon S3 路径。

  • 数据的数据格式必须与向导中列出的格式之一匹配。将基于所选的格式自动填充相应的分类、SerDe 和其他表属性。您可以使用以下格式定义表:

    :JSON

    JavaScript 对象表示法

    CSV

    字符分隔值。您还可以指定逗号、竖线、分号、制表符或 Ctrl-A 等分隔符。

    Parquet

    Apache Parquet 列式存储。

    Avro

    Apache Avro JSON 二进制格式。

    XML

    可扩展标记语言格式。指定定义数据中的行的 XML 标签。在行标签中定义列。

  • 您可以为表定义分区键。

  • 目前,使用控制台创建的分区表不能用于 ETL 作业。

表属性

以下是表的一些重要属性:

表名称。

在创建表时确定名称,并且您无法更改它。您在许多 AWS Glue 操作中引用表名称。

数据库

表所在的容器对象。此对象包含 AWS Glue 数据目录中存在的表组织,并且可能与您的数据存储中的组织不同。当您删除数据库时,也会从Data Catalog中删除数据库中包含的所有表。

Location

指向此表定义表示的数据存储中的数据位置的指针。

分类。

在创建表时提供的分类值。通常,在爬网程序运行并指定源数据格式时写入它。

上次更新

在Data Catalog中更新此表的日期和时间 (UTC)。

日期已添加

此表添加到Data Catalog中的日期和时间 (UTC)。

Description

表的描述。您可以编写描述以帮助您了解表的内容。

(已淘汰)

如果 AWS Glue 发现Data Catalog中的表不再存在于其原始数据存储中,则会在数据目录中将此表标记为已淘汰。如果您运行的作业引用已淘汰的表,则此作业可能会失败。编辑引用已淘汰的表的作业,以从源和目标中删除这些表。我们建议您删除不再需要的已淘汰的表。

连接

如果 AWS Glue 需要连接到您的数据存储,则连接的名称与表相关联。

查看和编辑表详细信息

要查看现有表的详细信息,请在列表中选择表名称,然后选择 Action, View details (操作 -> 查看详细信息)。

表详细信息包括您的表格及其框架的属性。 此视图显示表格的框架,包括为表格、数据类型和分区的密钥列定义的列名称。 如果列是复杂类型,您可以选择 View properties (查看属性) 来显示该字段的结构的详细信息,如以下示例所示:

{ "StorageDescriptor": { "cols": { "FieldSchema": [ { "name": "primary-1", "type": "CHAR", "comment": "" }, { "name": "second ", "type": "STRING", "comment": "" } ] }, "location": "s3://aws-logs-111122223333-us-east-1", "inputFormat": "", "outputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "compressed": "false", "numBuckets": "0", "SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "|" } }, "bucketCols": [], "sortCols": [], "parameters": {}, "SkewedInfo": {}, "storedAsSubDirectories": "false" }, "parameters": { "classification": "csv" } }

有关表的属性的更多信息,如 StorageDescriptor,请参阅 StorageDescriptor 结构

要更改表的架构,请选择 Edit schema (编辑架构) 来添加和删除列、更改列名称以及更改数据类型。

要比较不同版本的表,包括其架构,请选择 Compare versions (比较版本) 来查看表架构的两个版本之间的逐项对照比较。

要显示组成 Amazon S3 分区的文件,请选择 View partition (查看分区)。对于 Amazon S3 表,Key (键) 列显示用于对源数据存储中的表进行分区的分区键。分区是根据键列 (如日期、位置或部门) 的值将一个表划分为多个相关部分的方法。有关分区的更多信息,请在 Internet 上搜索有关“hive 分区”的信息。

注意

要获取查看表详细信息的分步指导,请参阅控制台中的 Explore table (浏览表) 教程。