本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Ray 作业中使用作业参数
为 AWS Glue Ray 作业设置参数的方式与为 Spark 作业设置参数的方式相同。AWS Glue有关 AWS Glue API 的更多信息,请参阅任务。您可以使用不同的参数配置 AWS Glue Ray 作业,这些参数在本参考中列出。也可以提供自己的参数。
您可以在控制台的 Job details(作业详细信息)选项卡的 Job Parameters(作业参数)标题下配置作业。还可以设置作业上的 DefaultArguments
或作业运行上的 Arguments
来通过 AWS CLI 配置作业。默认参数和作业参数将在多次运行时保留在作业中。
例如,以下是运行任务的语法,使用 --arguments
设置特殊参数。
$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py",--test-environment="true"'
设置参数后,您可以通过环境变量从 Ray 作业中访问作业参数。这为您提供了一种为每次运行配置作业的方法。环境变量的名称将是不带 --
前缀的作业参数名称。
例如,在前面的示例中,变量名将为 an scriptLocation
d test-environment
。然后,您将通过标准库中提供的方法检索参数:test_environment = os.environ.get('test-environment')
. 有关使用 Python 访问环境变量的更多信息,请参阅 Python 文档中的操作系统模块
参考
Ray 作业可以识别以下参数名称,您可以使用这些名称为 Ray 作业和作业运行设置脚本环境:
-
--min-workers
— 分配给 Ray 作业的 Worker 节点的最小数量。一个 Worker 节点可以运行多个副本,每个虚拟 CPU 一个副本。格式:整数。最小值:0。最大值:--number-of-workers (NumberOfWorkers)
在作业定义中指定的值。有关工作节点记账的更多信息,请参阅对 Ray 工作的员工进行会计核算。 -
--object_spilling_config
— f AWS Glue or Ray 支持使用 Amazon S3 作为扩展 Ray 对象存储可用空间的一种方式。要启用此行为,您可以为 Ray 提供一个带有此参数的溢出 JSON 配置对象的对象。有关 Ray 对象溢出配置的更多信息,请参阅 Ray 文档中的对象溢出。格式:JSON 对象。 AWS Gluefor Ray 仅支持一次性溢出到磁盘或溢出到 Amazon S3。您可以提供多个溢出地点,前提是它们遵守此限制。当泄露到 Amazon S3 时,您还需要为该存储桶的任务添加 IAM 权限。
在 CLI 中提供 JSON 对象作为配置时,必须将其作为字符串提供,并对 JSON 对象进行字符串转义。例如,溢出到一个 Amazon S3 路径的字符串值将如下所示:
"{\"type\": \"smart_open\", \"params\": {\"uri\":\"
。在中AWS Glue Studio,将此参数作为 JSON 对象提供,无需额外格式。s3path
\"}}" -
--object_store_memory_head
— 分配给 Ray 头节点上的 Plasma 对象存储的内存。此实例运行集群管理服务以及工作线程副本。该值表示热启动后实例上可用内存的百分比。您可以使用此参数来调整内存密集型工作负载,默认值对于大多数用例都是可以接受的。格式:正整数。最小值:1。最大值:100。有关 Plasma 的更多信息,请参阅 Ray 文档中的 Plasma 内存对象存储
。 -
--object_store_memory_worker
— 分配给 Ray Worker 节点上的 Plasma 对象存储的内存。这些实例仅运行工作线程副本。该值表示热启动后实例上可用内存的百分比。此参数用于调整内存密集型工作负载,默认值对于大多数使用案例来说是可接受的。格式:正整数。最小值:1。最大值:100。有关 Plasma 的更多信息,请参阅 Ray 文档中的 Plasma 内存对象存储
。 -
--pip-install
— 一组要安装的 Python 软件包。你 可以使用此参数从 PyPI 安装软件包。格式:以逗号分隔 名单。PyPI 包条目的格式为
package==version
PyPI 名称和 目标软件包的版本。条目使用 Python 版本匹配以匹配软件包和版本,例如==
,而不是单一等于=
。还有其他 版本匹配运算符。有关更多信息,请参阅 Python 网站上的 PEP 440。您还可以使用提供自定义模块 --s3-py-modules
。 -
--s3-py-modules
— 一组托管 Python 模块分发的 Amazon S3 路径。格式:以逗号分隔的列表。你可以用它来将你自己的模块分发到你的 Ray 作业中。你也可以通过 PyPI 提供模块。
--pip-install
与 AWS Glue ETL 不同,自定义模块不是通过 pip 设置的,而是传递给 Ray 进行分发。有关更多信息,请参阅用于 Ray 作业的其他 Python 模块: -
--working-dir
— 托管在 Amazon S3 中的.zip 文件的路径,该文件包含要分发到运行 Ray 任务的所有节点的文件。格式:字符串。有关更多信息,请参阅 为你的 Ray 作业提供文件。