由 AWS Glue 使用的特殊参数 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

由 AWS Glue 使用的特殊参数

AWS Glue 可识别多个参数名称,这些参数名称可用于设置作业和作业运行的脚本环境:

  • --job-language — 脚本编程语言。此值必须为 scalapython。 如果此参数不存在,则默认值为 python

  • --class — 用作 Scala 脚本的入口点的 Scala 类。仅在 --job-language 设置为 scala 时适用。

  • --scriptLocation — ETL 脚本所在的 Amazon Simple Storage Service (Amazon S3) 位置(采用 s3://path/to/my/script.py 格式)。此参数会覆盖 JobCommand 对象中设置的脚本位置。

  • --extra-py-files — 在执行脚本之前 Amazon S3 添加到 Python 路径中的其他 Python 模块的 AWS Glue 路径。多个值必须是以逗号 (,) 分隔的完整路径。仅支持单个文件而不是目录路径。目前,仅纯 Python 模块正常工作。不支持使用 C 或其他语言编写的扩展模块。

  • --extra-jars — 在执行脚本之前 Amazon S3 添加到 Java 类路径中的其他 Java .jar 文件的 AWS Glue 路径。多个值必须是以逗号 (,) 分隔的完整路径。

  • --user-jars-first — 当将此值设置为 true 时,它会在类路径中划分客户的额外 JAR 文件的优先级。此选项仅在 AWS Glue 版本 2.0 中可用。

  • --extra-files — 其他文件的 Amazon S3 路径,例如在执行脚本之前 AWS Glue 复制到脚本工作目录中的配置文件。多个值必须是以逗号 (,) 分隔的完整路径。仅支持单个文件而不是目录路径。

  • --job-bookmark-option — 控制作业书签的行为。可以设置以下选项值。

    ‑‑job‑bookmark‑option 值 描述
    job-bookmark-enable 追踪以前处理数据。当作业运行时,处理自上一个检查点以来的新数据。
    job-bookmark-disable 始终处理整个数据集。您负责管理上一个作业运行的输出。
    job-bookmark-pause 处理上次成功运行以来的增量数据或以下子选项标识的范围内的数据,但不更新最后一个书签的状态。您负责管理上一个作业运行的输出。这两个子选项的说明如下:
    • job-bookmark-from <from-value> 是运行 ID,它表示在最后一次成功运行之前所处理的所有输入,包括指定的运行 ID。对应的输入将被忽略。

    • job-bookmark-to <to-value> 是运行 ID,它表示在最后一次成功运行之前所处理的所有输入,包括指定的运行 ID。作业会处理对应的输入(不包括由 <from-value> 标识的输入)。任何晚于此输入的输入也会被排除在外,不进行处理。

    指定此选项集时,作业书签状态不更新。

    子选项是可选的。但是,在使用时,必须提供两个子选项。

    例如,要启用作业书签,请传递以下参数。

    '--job-bookmark-option': 'job-bookmark-enable'
  • --TempDir — 指定可用作作业的临时目录的存储桶的 Amazon S3 路径。

    例如,要设置临时目录,请传递以下参数。

    '--TempDir': 's3-path-to-directory'
  • --enable-s3-parquet-optimized-committer — 启用经 EMRFS S3 优化的提交程序,用于将 Parquet 数据写入 Amazon S3。您可以在创建或更新 AWS Glue 作业时通过 AWS Glue 控制台提供参数/值对。将值设置为 true 将启用提交程序。默认情况下,该标志处于关闭状态。

    有关更多信息,请参阅使用经 EMRFS S3 优化的提交程序

  • --enable-rename-algorithm-v2 — 将 EMRFS 重命名算法版本设置为版本 2。当 Spark 作业使用动态分区覆盖模式时,可能会创建重复的分区。例如,您最终可能得到一个重复的分区,如 s3://bucket/table/location/p1=1/p1=1。 此处,P1 是正被覆盖的分区。重命名算法版本 2 修复了此问题。

    此选项仅在 AWS Glue 版本 1.0 上可用。

  • --enable-glue-datacatalog — 使您能够使用 AWS Glue 数据目录 作为 Apache Spark Hive 元存储。

  • --enable-metrics — 为此作业运行启用作业分析指标的集合。在 AWS Glue 控制台和 Amazon CloudWatch 控制台上提供了这些指标。要启用指标,仅指定键;无需任何值。

  • --enable-continuous-cloudwatch-log — 为 AWS Glue 作业启用实时连续日志记录。您可以查看 CloudWatch 中的实时 Apache Spark 作业日志。

  • --enable-continuous-log-filter — 在创建或编辑为连续日志记录启用的作业时指定标准筛选条件 (true) 或无筛选条件 (false)。选择标准筛选器可筛选掉无用的 Apache Spark 驱动程序/执行程序和 Apache Hadoop YARN 检测信号日志消息。选择无筛选器可提供所有日志消息。

  • --continuous-log-logGroup — 为已启用连续日志记录的作业指定自定义 Amazon CloudWatch 日志组名称。

  • --continuous-log-logStreamPrefix — 为已启用连续日志记录的作业指定自定义 CloudWatch 日志流前缀。

  • --continuous-log-conversionPattern — 为已启用连续日志记录的作业指定自定义转换日志模式。转换模式仅适用于驱动程序日志和执行程序日志。它不会影响 AWS Glue 进度条。

例如,以下是运行作业的语法与 -- 参数和一个特殊参数。

$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py"'

以下是绝不应设置的 AWS Glue 在内部使用的几个参数名称:

  • --conf — 供 AWS Glue 内部使用。请勿设置。

  • --debug — 供 AWS Glue 内部使用。请勿设置。

  • --mode — 供 AWS Glue 内部使用。请勿设置。

  • --JOB_NAME — 供 AWS Glue 内部使用。请勿设置。