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

Amazon Glue 使用的作业参数

可以使用本文档中列出的参数配置 Amazon Glue 作业。您可以在控制台的 Job details(作业详细信息)选项卡的 Job Parameters(作业参数)标题下配置作业。还可以设置作业上的 DefaultArgumentsNonOverridableArguments 或者作业运行上的 Arguments 来通过 Amazon CLI 配置作业。默认参数和作业参数将在多次运行时保留在作业中。有关 Amazon Glue API 的更多信息,请参阅 任务

例如,以下是运行任务的语法,使用 --arguments 设置特殊参数。

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

Amazon 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 对象中设置的脚本位置。

  • --additional-python-modules - 以逗号分隔的列表,表示要安装的一组 Python 包。您可以从 PyPI 安装包,也可以提供自定义分发。PyPI 包条目的格式为 package==version,带有目标包的 PyPI 名称和版本。自定义分发条目是到分发的 S3 路径。

    条目使用 Python 版本匹配以匹配包和版本。这意味着您需要使用两个等号,例如 ==。还有其他版本匹配运算符,有关更多信息,请参阅 PEP 440

  • --python-modules-installer-option — 纯文本字符串,它定义了在使用 --additional-python-modules 安装模块时要传递给 pip3 的选项。像在命令行中一样提供选项,用空格分隔这些选项并以短划线作为前缀。有关使用情况的更多信息,请参阅 使用 pip 在 Amazon Glue 2.0+ 中安装其他 Python 模块

  • --extra-py-files – 在执行脚本之前 Amazon Glue 添加到 Python 路径中的其他 Python 模块的 Amazon S3 路径。多个值必须是以逗号(,)分隔的完整路径。仅支持单个文件而不是目录路径。

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

  • --user-jars-first – 将此值设置为 true 时,系统会优先考虑类路径中客户的额外 JAR 文件。此选项仅适用于 Amazon Glue 版本 2.0 或更高版本。

  • --use-postgres-driver – 将此值设置为 true 时,系统会优先考虑类路径中的 Postgres JDBC 驱动程序,以避免与 Amazon Redshift JDBC 驱动程序发生冲突。此选项仅适用于 Amazon Glue 版本 2.0。

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

  • --disable-proxy-v2 - 禁用服务代理,以允许通过 VPC 从您的脚本发起对 Amazon S3、CloudWatch 和 Amazon Glue 的 Amazon 服务调用。有关更多信息,请参阅将 Amazon 调用配置为通过您的 VPC

  • --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'
    注意

    如果区域中尚不存在存储桶,则 Amazon Glue 会为任务创建临时存储桶。此存储桶可能允许公开访问。您可以修改 Amazon S3 中的存储桶以设置公开访问数据块,也可以在该区域中的所有任务完成之后删除存储桶。

  • --enable-auto-scaling – 此值设置为 true 时,将打开自动扩缩和按工件计费的功能。

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

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

  • --enable-rename-algorithm-v2 – 将 EMRFS 重命名算法版本设置为版本 2。当 Spark 任务使用动态分区覆盖模式时,可能会创建重复分区。例如,您最终可以得到 s3://bucket/table/location/p1=1/p1=1 之类的重复分区。在此处,P1 是被覆盖的分区。重命名算法版本 2 可以解决此问题。

    此选项仅适用于 Amazon Glue 版本 1.0。

  • --enable-glue-datacatalog – 支持您将 Amazon Glue Data Catalog 用作 Apache Spark Hive 元存储。要启用此功能,仅指定键;无需任何值。

  • --enable-metrics – 为此任务运行启用任务分析指标的集合。这些指标适用于 Amazon Glue 控制台和 Amazon CloudWatch 控制台。要启用指标,仅指定键;无需任何值。

  • --enable-continuous-cloudwatch-log - 允许对 Amazon Glue 作业进行实时的连续日志记录。您可以查看 CloudWatch 中的实时 Apache Spark 任务日志。

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

  • --enable-job-insights - 启用通过 Amazon Glue 任务运行洞察进行额外的错误分析监控。有关详细信息,请参阅通过 Amazon Glue 任务运行洞察进行监控。默认情况下,该值将设置为 true,并将启用任务运行洞察。

    此选项仅可用于 Amazon Glue 版本 2.0 和 3.0。

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

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

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

  • --enable-spark-ui – 当设置为 true 时,打开该功能以使用 Spark UI 监控和调试 Amazon Glue ETL 任务。

  • --spark-event-logs-path – 指定 Amazon S3 路径。使用 Spark UI 监控功能时,Amazon Glue 会每 30 秒刷新 Spark 事件日志到 Amazon S3 路径的存储桶,该存储桶可用作存储 Spark UI 事件的临时目录。

Amazon Glue 在内部使用以下参数,您永远不要使用它们:

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

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

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

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