将 Amazon S3 中的文件用于数据源 - AmazonGlue 工作室
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将 Amazon S3 中的文件用于数据源

如果您选择 Amazon S3 作为数据源,则可以选择以下任一项:

  • 数据目录数据库和表。

  • Amazon S3 中的存储桶、文件夹或文件。

如果您使用 Amazon S3 存储桶作为数据源,AmazonGlue Studio 通过其中一个文件或使用指定为示例文件的文件来检测指定位置的数据模式。模式检测发生在您使用推断架构按钮。如果您更改 Amazon S3 位置或样本文件,则必须选择推断架构以使用新信息执行模式检测。

配置直接从 Amazon S3 中的文件读取的数据源节点

  1. 转到新作业或已保存作业的可视编辑器。

  2. 在作业图中为 Amazon S3 源选择一个数据源节点。

  3. 选择数据源属性选项卡,然后输入以下信息:

    • S3 源类型:(仅适用于 Amazon S3 数据源)选择S3 位置

    • S3 网址:输入 Amazon S3 存储桶、文件夹或包含任务数据的文件的路径。您可以选择浏览 S3从您的帐户可用位置中选择路径。

    • 递归:如果您需要,请选择此选项AmazonGlue Studio 从 S3 位置的子文件夹中的文件读取数据。

      如果子文件夹包含分区数据,AmazonGlue Studio 不会将文件夹名称中指定的任何分区信息添加到数据目录中。例如,考虑 Amazon S3 中的以下文件夹:

      S3://sales/year=2019/month=Jan/day=1 S3://sales/year=2019/month=Jan/day=2

      如果选择递归,然后选择sales文件夹作为 S3 位置,然后AmazonGlue Studio 读取所有子文件夹中的数据,但不会为年份、月份或日创建分区。

    • 数据格式:选择存储数据的格式。您可以选择 JSON、CSV 或镶木地板。您选择的值告诉Amazon Glue作业如何从源文件中读取数据。

      注意

      如果您未为数据选择正确的格式,AmazonGlue Studio 可能会正确推断模式,但作业将无法正确解析源文件中的数据。

      您可以输入其他配置选项,具体取决于您选择的格式。

      • JSON(JavaScript 对象表示法)

        • JsonPath:输入 JSON 路径,指向用于定义表架构的对象。JSON 路径表达式始终引用 JSON 结构,其方式与 XPath 表达式与 XML 文档结合使用的方式相同。JSON 路径中的 “根成员对象” 始终称为$,即使它是一个对象或数组。JSON 路径可以用点表示法或括号表示法编写。

          有关 JSON 路径的更多信息,请参阅JsonPath在 GitHub 网站上。

        • 源文件中的记录可以跨越多行:如果单个记录可跨越 CSV 文件中的多行,请选择此选项。

      • CSV(逗号分隔值)

        • 分隔符:输入字符以表示分隔行中每个列条目的内容,例如,;或者,

        • 转义字符:输入一个字符,该字符用作转义字符。此字符表示紧接转义字符后面的字符应该是字面上的,不应将其解释为分隔符。

        • 引用字符:输入用于将单独字符串分组为单个值的字符。例如,您应选择双引号 (“)如果您有"This is a single value"在 CSV 文件中。

        • 源文件中的记录可以跨越多行:如果单个记录可跨越 CSV 文件中的多行,请选择此选项。

        • 源文件的第一行包含列标题:如果 CSV 文件中的第一行包含列标题而不是数据,请选择此选项。

      • Parquet(Apache Parquet 列式存储)

        没有其他设置可以配置以镶木地板格式存储的数据。

    • 分区谓词:要对从数据源读取的数据进行分区,请输入基于仅包含分区列的 Spark SQL 的布尔表达式。例如:"(year=='2020' and month=='04')"

    • 高级选项:如果需要,请展开此部分AmazonGlue Studio 根据特定文件检测数据的模式。

      • 模式推理:选择选项从 S3 中选择示例文件如果你想使用一个特定的文件,而不是让AmazonGlue 工作室选择一个文件。

      • 自动取样文件:输入 Amazon S3 中要用于推断架构的文件的路径。

      如果要编辑数据源节点并更改选定的示例文件,请选择重新加载架构通过使用新的示例文件检测模式。

  4. 选择推断架构按钮从 Amazon S3 中的源文件中检测架构。如果您更改 Amazon S3 位置或样本文件,您必须选择推断架构以使用新信息推断模式。