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

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

在 Amazon Glue 控制台上处理表

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

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

在控制台上添加表

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

如果您知道在数据目录中创建 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 作业。

表属性

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

表名称

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

Database

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

位置

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

Classification

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

上次更新

在数据目录中更新此表的日期和时间 (UTC)。

日期已添加

此表添加到数据目录中的日期和时间 (UTC)。

描述

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

已淘汰

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

Connection

如果 Amazon 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 分区的文件,请选择查看分区。对于 Amazon S3 表,密钥列显示用于对源数据存储中的表进行分区的分区键。分区是根据键列 (如日期、位置或部门) 的值将一个表划分为多个相关部分的方法。有关分区的更多信息,请在 Internet 上搜索有关“hive 分区”的信息。

注意

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