

# Trabalhar com trabalhos do Ray no AWS Glue
<a name="ray-jobs-section"></a>

**Importante**  
O AWS Glue para Ray não estará mais disponível para novos clientes a partir de 30 de abril de 2026. Se quiser usar o AWS Glue para Ray, inscreva-se antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para recursos semelhantes aos do AWS Glue para Ray, explore o Amazon EKS. Para saber mais, consulte [Fim do suporte do AWS Glue para Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

Esta seção fornece informações sobre o uso do AWS Glue para Ray. Para obter mais informações sobre escrever scripts do AWS Glue para Ray, consulte a seção [Programar scripts de ETL](aws-glue-programming-ray.md).

**Topics**
+ [Conceitos básicos do AWS Glue para Ray](#author-job-ray-using)
+ [Ambientes de runtime do Ray compatíveis](#author-job-ray-runtimes)
+ [Explicar os operadores em trabalhos do Ray](#author-job-ray-worker-accounting)
+ [Usar parâmetros de trabalho em trabalhos do Ray](author-job-ray-job-parameters.md)
+ [Monitorar trabalhos do Ray com métricas](author-job-ray-monitor.md)

## Conceitos básicos do AWS Glue para Ray
<a name="author-job-ray-using"></a>

Para trabalhar com o AWS Glue para Ray, você usa os mesmos trabalhos e sessões interativas do AWS Glue que usaria com o AWS Glue para Spark. Os trabalhos do AWS Glue foram criados para executar o mesmo script em uma cadência recorrente, enquanto as sessões interativas foram criadas para permitir que você execute trechos de código sequencialmente nos mesmos recursos provisionados. 

O AWS Glue ETL e o Ray são diferentes internamente, portanto, em seu script, você terá acesso a diferentes ferramentas, atributos e configurações. Como uma nova estrutura de computação gerenciada pelo AWS Glue, o Ray tem uma arquitetura diferente e usa um vocabulário diferente para descrever o que faz. Para obter mais informações, consulte [Architecture Whitepapers](https://docs.ray.io/en/latest/ray-contribute/whitepaper.html) (Documentos técnicos de arquitetura) na documentação do Ray. 

**nota**  
O AWS Glue for Ray está disponível em Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon), Ásia-Pacífico (Tóquio) e Europa (Irlanda).

### Trabalhos do Ray no console do AWS Glue Studio
<a name="author-job-ray-using-console"></a>

Na página **Trabalhos** no console do AWS Glue Studio, você pode selecionar uma nova opção ao criar um trabalho no AWS Glue Studio - **editor de script do Ray**. Escolha essa opção para criar um trabalho do Ray no console. Para obter mais informações sobre trabalhos e sobre como eles são usados, consulte [Criar trabalhos de ETL visuais](author-job-glue.md).

![\[A página Trabalhos no AWS Glue Studio com a opção de editor de scripts do Ray selecionada.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/ray_job_setup.png)


### Os trabalhos do Ray na AWS CLI e SDK
<a name="author-job-ray-using-cli"></a>

Os trabalhos do Ray na AWS CLI usam as mesmas ações e parâmetros do SDK dos outros trabalhos. O AWS Glue para Ray introduz novos valores para determinados parâmetros. Para obter mais informações sobre a API de trabalhos, consulte [Tarefas](aws-glue-api-jobs-job.md).

## Ambientes de runtime do Ray compatíveis
<a name="author-job-ray-runtimes"></a>

Em trabalhos do Spark, o `GlueVersion` determina as versões do Apache Spark e do Python disponíveis em um trabalho do AWS Glue para Spark. A versão do Python indica a versão compatível com trabalhos do tipo Spark. Não é assim que os ambientes de runtime do Ray são configurados.

Os trabalhos do Ray, você deve definir `GlueVersion` como `4.0` ou mais. Porém, as versões do Ray, do Python e das bibliotecas adicionais disponíveis no seu trabalho do Ray são determinadas pelo campo `Runtime` na definição do trabalho.

O ambiente de runtime to `Ray2.4` estará disponível por no mínimo 6 meses após o lançamento. À medida que o Ray evolui rapidamente, você poderá incorporar atualizações e melhorias do Ray por meio de versões futuras do runtime.

Valores válidos: `Ray2.4`


| Valor do runtime | Versões do Ray e Python | 
| --- | --- | 
| Ray2.4 (para AWS Glue 4.0\$1) |  Ray 2.4.0 Python 3.9  | 

**Mais informações**
+ Para obter as notas de versão que acompanham os lançamentos do AWS Glue para Ray, consulte [AWS GlueVersões do](release-notes.md#release-notes-versions).
+ Para bibliotecas do Python que são fornecidas em um runtime, consulte [Módulos fornecidos com trabalhos do Ray](edit-script-ray-env-dependencies.md#edit-script-ray-modules-provided).

## Explicar os operadores em trabalhos do Ray
<a name="author-job-ray-worker-accounting"></a>

O AWS Glue executa trabalhos do Ray em novos tipos de operadores EC2 baseados em Graviton, que só estão disponíveis para trabalhos do Ray. Para provisionar adequadamente esses trabalhadores para workloads para os quais o Ray foi projetado, fornecemos uma proporção diferente de recursos de computação e recursos de memória da maioria dos operadores. Para processar esses recursos, usamos a unidade de processamento de dados otimizada para memória (M-DPU) em vez da unidade de processamento de dados padrão (DPU).
+ Uma M-DPU corresponde a 4 vCPUs e 32 GB de memória.
+ Uma DPU corresponde a 4 vCPUs e 16 GB de memória. As DPUs são usadas para contabilizar os recursos no AWS Glue com trabalhos do Spark e os operadores correspondentes.

Trabalhos do Ray têm acesso a um tipo de operador, `Z.2X`. O operador `Z.2X` mapeia para 2 M-DPUs (8 vCPUs, 64 GB de memória) e tem 128 GB de espaço em disco. Uma máquina `Z.2X` fornece 8 operadores Ray (um por vCPU).

O número de M-DPUs que você pode usar de forma concorrente em uma conta está sujeito a uma cota de serviço. Para obter mais informações sobre os limites da sua conta do AWS Glue, consulte [endpoints e cotas do AWS Glue](https://docs.aws.amazon.com/general/latest/gr/glue.html).

Você especifica o número de nós de processamento que estão disponíveis para um trabalho do Ray com `--number-of-workers (NumberOfWorkers)` na definição do trabalho. Para obter mais informações sobre os valores do Ray na API de trabalhos, consulte [Tarefas](aws-glue-api-jobs-job.md).

Você também pode especificar um número mínimo de operadores que um trabalho do Ray deve alocar com o parâmetro do trabalho `--min-workers`. Para obter mais informações sobre parâmetros de trabalho, consulte [Referência](author-job-ray-job-parameters.md#author-job-ray-parameters-reference). 

# Usar parâmetros de trabalho em trabalhos do Ray
<a name="author-job-ray-job-parameters"></a>

**Importante**  
O AWS Glue para Ray não estará mais disponível para novos clientes a partir de 30 de abril de 2026. Se quiser usar o AWS Glue para Ray, inscreva-se antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para recursos semelhantes aos do AWS Glue para Ray, explore o Amazon EKS. Para saber mais, consulte [Fim do suporte do AWS Glue para Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

Você define os argumentos para os trabalhos do Ray no AWS Glue da mesma forma que define os argumentos no AWS Glue para trabalhos do Spark. Para obter mais informações sobre a API do AWS Glue, consulte [Tarefas](aws-glue-api-jobs-job.md). Você pode configurar trabalhos do Ray no AWS Glue com argumentos diferentes, que estão listados nesta referência. Você também pode fornecer seus próprios argumentos. 

É possível configurar um trabalho pelo do console, na guia **Job details** (Detalhes do trabalho), no cabeçalho **Job Parameters** (Parâmetros do trabalho). Você também pode configurar um trabalho usando a AWS CLI definindo `DefaultArguments` em um trabalho ou definindo `Arguments` em uma execução de trabalho. Os argumentos padrão e os parâmetros do trabalho serão mantidos com o trabalho durante várias execuções. 

Por exemplo, veja a seguir a sintaxe para a execução de um trabalho usando `--arguments` para definir um parâmetro especial.

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

Depois de definir os argumentos, você pode acessar os parâmetros do trabalho de dentro do trabalho do Ray por meio das variáveis de ambiente. Essa é uma forma de configurar o trabalho para cada execução. O nome da variável de ambiente será o nome do argumento do trabalho sem o prefixo `--`. 

No exemplo anterior, os nomes das variáveis seriam `scriptLocation` e `test-environment`. Depois, você recuperaria o argumento por meio dos métodos disponíveis na biblioteca padrão: `test_environment = os.environ.get('test-environment')`. Para obter mais informações sobre como acessar variáveis de ambiente com o Python, consulte [módulo de sistema operacional](https://docs.python.org/3/library/os.html) na documentação do Python.

## Configurar a forma como os trabalhos do Ray geram logs
<a name="author-job-ray-logging-configuration"></a>

Por padrão, os trabalhos do Ray geram logs e métricas que são enviados para o CloudWatch e para o Amazon S3. É possível usar o parâmetro `--logging_configuration` para alterar a forma como os logs são gerados. No momento, você pode usá-lo para impedir que os trabalhos do Ray gerem diversos tipos de logs. Este parâmetro usa um objeto em JSON, cujas chaves correspondem aos logs ou aos comportamentos que você gostaria de alterar. Ele oferece suporte para as seguintes chaves:
+ `CLOUDWATCH_METRICS`: configura as séries de métricas do CloudWatch que podem ser usadas para visualizar a integridade do trabalho. Para saber mais sobre métricas do , consulte [Monitorar trabalhos do Ray com métricas](author-job-ray-monitor.md).
+ `CLOUDWATCH_LOGS`: configura os logs do CloudWatch que fornecem detalhes no nível da aplicação do Ray sobre o status de execução do trabalho. Para obter mais informações sobre logs, consulte [Solucionar problemas do AWS Glue para erros do Ray a partir de logs](troubleshooting-ray.md).
+ `S3`: configura o que o AWS Glue grava no Amazon S3, principalmente em relação a informações semelhantes aos logs do CloudWatch, mas como arquivos em vez de fluxos de logs.

Para desabilitar um comportamento de registro em log do Ray, forneça o valor `{\"IS_ENABLED\": \"False\"}`. Por exemplo, para desabilitar as métricas e os logs do CloudWatch, forneça a seguinte configuração:

```
"--logging_configuration": "{\"CLOUDWATCH_METRICS\": {\"IS_ENABLED\": \"False\"}, \"CLOUDWATCH_LOGS\": {\"IS_ENABLED\": \"False\"}}"
```

## Referência
<a name="author-job-ray-parameters-reference"></a>

 Os trabalhos do Ray reconhecem os seguintes nomes de argumento que podem ser usados para configurar o ambiente de script para os trabalhos e execuções de trabalhos do Ray:
+ `--logging_configuration`: é usado para interromper a geração de diversos logs criados por trabalhos do Ray. Esses logs são gerados por padrão em todos os trabalhos do Ray. Formato: objeto em JSON com escape de string. Para obter mais informações, consulte [Configurar a forma como os trabalhos do Ray geram logs](#author-job-ray-logging-configuration).
+ `--min-workers`: o número mínimo de nós de processamento alocados a um trabalho do Ray. Um nó de processamento pode executar várias réplicas, uma por cada CPU virtual. Formato: número inteiro. Mínimo: 0. Máximo: valor especificado em `--number-of-workers (NumberOfWorkers)` na definição do trabalho. Para obter mais informações sobre a contabilização de nó de processamento, consulte [Explicar os operadores em trabalhos do Ray](ray-jobs-section.md#author-job-ray-worker-accounting).
+ `--object_spilling_config`: o AWS Glue para Ray permite o uso do Amazon S3 como forma de ampliar o espaço disponível para o armazenamento de objetos do Ray. Para habilitar esse comportamento, você pode fornecer ao Ray um objeto de configuração JSON *Object spilling* com esse parâmetro. Para obter mais informações sobre a configuração de object spilling do Ray, consulte [Object Spilling](https://docs.ray.io/en/latest/ray-core/objects/object-spilling.html) na documentação do Ray. Formato: objeto JSON.

  O AWS Glue para Ray só permite spilling para o disco ou para o Amazon S3 de uma só vez. Você pode fornecer vários locais para spilling, desde que respeitem essa limitação. Ao fazer o spilling para o Amazon S3, você também precisará adicionar permissões do IAM ao trabalho para esse bucket.

  Ao fornecer um objeto JSON como configuração com a CLI, você deve fornecê-lo como uma string, com o objeto JSON escapado por string. Por exemplo, um valor de string para spilling para um caminho do Amazon S3 seria assim: `"{\"type\": \"smart_open\", \"params\": {\"uri\":\"s3path\"}}"`. No AWS Glue Studio, forneça esse parâmetro como um objeto JSON sem formatação extra. 
+ `--object_store_memory_head`: a memória alocada para o armazenamento de objetos Plasma no nó principal do Ray. Essa instância executa serviços de gerenciamento de cluster, bem como réplicas de processador. O valor representa uma porcentagem da memória livre na instância após uma inicialização a quente. Use esse parâmetro para ajustar as workloads com uso intenso de memória; os valores padrão são aceitáveis para a maioria dos usuários. Formato: número inteiro positivo. Mínimo: 1. Máximo: 100.

  Para obter mais informações sobre o Plasma, consulte [The Plasma In-Memory Object Store](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html) (Armazenamento de objeto em memória do Plasma) na documentação do Ray.
+ `--object_store_memory_worker`: a memória alocada para o armazenamento de objetos do Plasma no nó principal do Ray. Essas instâncias executam apenas réplicas de processador. O valor representa uma porcentagem da memória livre na instância após uma inicialização a quente. Esse parâmetro é usado para ajustar as workloads com uso intenso de memória; os valores padrão são aceitáveis para a maioria dos usuários. Formato: número inteiro positivo. Mínimo: 1. Máximo: 100.

  Para obter mais informações sobre o Plasma, consulte [The Plasma In-Memory Object Store](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html) (Armazenamento de objeto em memória do Plasma) na documentação do Ray.
+ `--pip-install`: um conjunto de pacotes do Python a serem instalados. Você pode instalar pacotes do PyPI usando esse argumento. Formato: lista delimitada por vírgulas.

  Uma entrada de pacote PyPI tem o formato de `package==version`, com o nome PyPI e a versão do pacote de destino. As entradas usam a correspondência de versões do Python para combinar o pacote com a versão, como `==`, não um único sinal de igual `=`. Existem outros operadores que correspondem à versão. Para obter mais informações, consulte [PEP 440](https://peps.python.org/pep-0440/#version-matching) no site da Python. Você também pode fornecer os módulos personalizados com os `--s3-py-modules`. 
+ `--s3-py-modules`: um conjunto de caminhos do Amazon S3 que hospedam distribuições de módulos do Python. Formato: lista delimitada por vírgulas.

  Você pode usar essa opção para distribuir seus próprios módulos para o seu trabalho do Ray. Você também pode fornecer os módulos do PyPi com `--pip-install`. Ao contrário de ETL do AWS Glue, os módulos personalizados não são configurados por pip, mas são passados para o Ray para distribuição. Para obter mais informações, consulte [Módulos adicionais do Python para trabalhos do Ray](edit-script-ray-env-dependencies.md#edit-script-ray-python-libraries-additional).
+ `--working-dir`: um caminho para um arquivo.zip hospedado no Amazon S3 que contém arquivos a serem distribuídos a todos os nós que executam o trabalho do Ray. Formato: string. Para obter mais informações, consulte [Fornecer arquivos para o trabalho do Ray](edit-script-ray-env-dependencies.md#edit-script-ray-working-directory).

# Monitorar trabalhos do Ray com métricas
<a name="author-job-ray-monitor"></a>

**Importante**  
O AWS Glue para Ray não estará mais disponível para novos clientes a partir de 30 de abril de 2026. Se quiser usar o AWS Glue para Ray, inscreva-se antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para recursos semelhantes aos do AWS Glue para Ray, explore o Amazon EKS. Para saber mais, consulte [Fim do suporte do AWS Glue para Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

É possível monitorar trabalhos do Ray usando o AWS Glue Studio e o Amazon CloudWatch. O CloudWatch coleta e processa métricas brutas do AWS Glue com o Ray, o que as torna disponíveis para análise. Essas métricas são visualizadas no console do AWS Glue Studio, para que você possa monitorar o trabalho enquanto ele é executado.

Para obter uma visão geral de como monitorar o AWS Glue, consulte [Monitorar o AWS Glue usando métricas do Amazon CloudWatch](monitoring-awsglue-with-cloudwatch-metrics.md). Para obter uma visão geral de como usar as métricas do CloudWatch publicadas pelo AWS Glue, consulte [Monitorar o com o Amazon CloudWatch](monitor-cloudwatch.md).

## Monitorar tarefas do Ray no console do AWS Glue
<a name="author-job-ray-monitor-console"></a>

Na página de detalhes de uma execução de trabalho, abaixo da seção **Detalhes da execução**, você pode ver gráficos agregados pré-montados que mostram as métricas de trabalho disponíveis. O AWS Glue Studio envia as métricas de trabalho para o CloudWatch para toda execução de trabalho. Com elas, você pode criar um perfil do cluster e das tarefas, bem como acessar informações detalhadas sobre cada nó.

Para obter mais informações sobre métricas gráficas disponíveis, consulte [Visualizar métricas do Amazon CloudWatch para uma execução de trabalho do Ray](view-job-runs.md#monitoring-job-run-metrics-ray).

## Visão geral das métricas de trabalhos do Ray no CloudWatch
<a name="author-job-ray-monitor-cw"></a>

Publicamos métricas do Ray quando o monitoramento detalhado está ativado no CloudWatch. As métricas são publicadas no namespace `Glue/Ray` do CloudWatch.
+ **Métricas de instância**

  Publicamos métricas sobre a utilização de CPU, memória e disco das instâncias designadas para uma tarefa. Essas métricas são identificadas por recursos como `ExecutorId`, `ExecutorType` e `host`. Essas métricas são um subconjunto das métricas padrão do agente Linux CloudWatch. Você pode encontrar informações sobre nomes e recursos de métricas na documentação do CloudWatch. Para obter mais informações, consulte [Métricas coletadas pelo atendente do CloudWatch](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html).
+ **Métricas de cluster do Ray**

  Encaminhamos as métricas dos processos do Ray que executam o script nesse namespace, depois fornecemos a você as mais vitais. As métricas disponíveis podem diferir segundo a versão do Ray. Para obter mais informações sobre qual versão do Ray seu trabalho está executando, consulte [AWS GlueVersões do](release-notes.md). 

  O Ray coleta métricas no nível da instância. Ele também fornece métricas para tarefas e para o cluster. Para obter mais informações sobre a estratégia de métricas subjacente do Ray, consulte [Metrics](https://docs.ray.io/en/latest/ray-observability/ray-metrics.html#system-metrics) na documentação do Ray.

**nota**  
 Não publicamos métricas de Ray no namespace do `Glue/Job Metrics/`, que é usado apenas para trabalhos do AWS Glue ETL.