运行火花ETL作业,启动时间缩短 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

运行火花ETL作业,启动时间缩短

AWS Glue 2.0版提供了一个升级的基础架构,用于运行ApacheSparkETL(提取、转换和负载)工作 AWS Glue 启动时间缩短。随着等待时间的缩短,数据工程师可以更高效地提高他们的交互性 AWS Glue. 工作开始时间的降低可帮助您达到或超越可用于分析数据的SLA。

要使用此功能, AWS Glue ETL职位,选择 2.0 对于 Glue version 创建职位时。

支持新功能

本节介绍GLUE版本2.0支持的新功能。

在工作级别指定其他Python模块的支持

GLUE版本2.0还允许您在工作级别提供额外Python模块或不同版本。您可以使用 --additional-python-modules 选项包含逗号分隔的Python模块列表添加新模块或更改现有模块的版本。

例如,更新或添加新的 scikit-learn 模块使用以下关键/值: "--additional-python-modules", "scikit-learn==0.21.3".

同时, --additional-python-modules 可以指定 Amazon S3 蟒蛇轮模块的路径。例如:。

--additional-python-modules s3://aws-glue-native-spark/tests/j4.2/ephem-3.7.7.1-cp37-cp37m-linux_x86_64.whl,s3://aws-glue-native-spark/tests/j4.2/fbprophet-0.6-py3-none-any.whl,scikit-learn==0.21.3

AWS Glue 使用PythonPackage安装程序(PIP3)安装其他模块。您可以通过 python-modules-installer-option 关于安装模块的PIP3。PIP3的任何不兼容或限制都将适用。

Python模块已在胶粘版本2.0中提供

GLUE2.0版支持以下Python模块开箱即用:

  • 设置工具—45.2.0

  • 设置工具—45.2.0

  • 子流程32—3.5.4

  • PTVSD—4.3.2

  • PYDEVD—1.9.0

  • PYMYSQL—0.9.3

  • 文件—0.15.2

  • JMESPATH—0.9.4

  • 六个—1.14.0

  • Python_Dateutil—2.8.1

  • URLLIB3—1.25.8

  • Botocore—1.15.4

  • S3传输—0.3.3

  • BOTO3—1.12.4

  • CertiFi—2019.11.28

  • Chardet-3.0.4

  • IDNA—2.9

  • 请求—2.23.0

  • 解析—2.4.6

  • 环境34—1.1.9

  • Pytz—2019.3

  • 麻木—1.18.1

  • 循环仪—0.10.0

  • Kiwisolver—1.1.0

  • SCIPY—1.4.1

  • Pandas—1.0.1

  • Pyarrow—0.16.0

  • Matplotlib—3.1.3

  • Pyhocon—0.3.54

  • MPMath—1.1.0

  • 症状—1.5.1

  • PATSY—0.5.1

  • StatSmodels—0.11.1

  • FSSpec—0.6.2

  • S3FS—0.4.0

  • Cython—0.29.15

  • Joblib—0.14.1

  • PMDarima—1.5.3

  • SCIKIT-学习—0.22.1

  • TBATS—1.0.9

记录行为

GLUEversion2.0支持不同的默认记录行为。差异包括:

  • 记录在RealTime中发生。

  • 驱动程序和执行机构有独立的流股。

  • 对于每个驱动程序和执行器,都有两个流、输出流和错误流。

驱动器和执行器流

驱动程序流由作业运行ID识别。执行者流被作业标识<run id>_<executor task id例如:。

  • "logStreamName": "jr_8255308b426fff1b4e09e00e0bd5612b1b4ec848d7884cebe61ed33a31789..._g-f65f617bd31d54bd94482af755b6cdf464542..."

输出和错误流

输出流具有代码的标准输出(STDOUT)。错误流有您的代码/库中的记录消息。

  • 日志流:

    • 驱动程序日志流有<jr其中:jr>是工作运行ID。

    • 执行者日志流有<jr>_<g其中:g>是执行人的任务ID。您可以在驱动程序错误日志中查看执行者任务ID。

GLUE版本2.0的默认日志组如下:

  • /aws-glue/jobs/logs/output 对于输出

  • /aws-glue/jobs/logs/error 对于错误

提供安全配置时,日志组名称将更改为:

  • /aws-glue/jobs/<security configuration>-role/<Role Name>/output

  • /aws-glue/jobs/<security configuration>-role/<Role Name>/error

控制台上的 日志 链接指向输出日志组和 错误 链接指向错误日志组。启用连续记录时, 日志 链接至连续日志组,以及 输出 链接指向输出日志组。

记录规则

注意

在GLUE2.0版中,连续记录的问题要求在使用连续记录功能之前创建日志组。要处理此问题,您必须创建默认记录组或客户日志组,以便创建由 --continuous-log-logGroup,否则,连续日志流将不会显示。AWS正在努力解决此问题。

连续记录的默认日志组名称为 /aws-glue/jobs/logs-v2.

在GLUE2.0版中,连续记录与胶粘版本1.0的行为相同:

  • 默认日志组: /aws-glue/jobs/logs-v2

  • 驱动器日志流:<jrdriver

  • 执行者日志流:<jr>-<executor ID>

    可以通过设置更改日志组名称 --continuous-log-logGroupName

    可以通过设置预先固定日志流名称 --continous-log-logStreamPrefix

不支持的功能

以下内容 AWS Glue 不支持功能:

  • 发展终点

  • FindMatch机器学习转型

  • AWS Glue 流媒体ETL职位

  • AWS Glue 版本2.0未在Apache纱线上运行,因此纱线设置不适用

  • AWS Glue 版本2.0没有Hadoop分布式文件系统(HDFS)

  • AWS Glue 版本2.0不使用动态分配,因此不可用ExecuToralLocationManager度量

  • 对于 AWS Glue 2.0版工作,您指定员工的数量和员工类型,但请勿指定 maxCapacity.