

# Monitoramento com métricas de observabilidade do AWS Glue
<a name="monitor-observability"></a>

**nota**  
As métricas de observabilidade do AWS Glue estão disponíveis no AWS Glue 4.0 e versões posteriores.

 Use métricas de observabilidade do AWS Glue para gerar insights sobre o que está acontecendo dentro do seu AWS Glue para trabalhos do Apache Sparks para melhorar a triagem e a análise de problemas. As métricas de observabilidade são visualizadas por meio de painéis do Amazon CloudWatch e podem ser usadas para ajudar a realizar a análise da causa raiz de erros e para diagnosticar gargalos de performance. É possível reduzir o tempo gasto na depuração de problemas em escala para que você possa se concentrar em resolver problemas com mais rapidez e eficiência. 

 A observabilidade do AWS Glue fornece métricas do Amazon CloudWatch categorizadas nos quatro grupos a seguir: 
+  **Confiabilidade (ou seja, classes de erros)**: identifique facilmente os motivos de falha mais comuns em um determinado intervalo de tempo que você talvez queira resolver. 
+  **Performance (ou seja, assimetria)**: identifique um gargalo de performance e aplique técnicas de ajuste. Por exemplo, quando você enfrenta uma degradação de performance causada pela assimetria de um trabalho, convém ativar a execução adaptativa de consultas do Spark e ajustar o limite de junção assimétrica. 
+  **Throughput (ou seja, throughput por fonte/coletor)**: monitore as tendências de leituras e gravações de dados. Você também pode configurar alarmes do Amazon CloudWatch para anomalias. 
+  **Utilização de recursos (ou seja, operadores, memória e utilização de disco)**: encontre de forma eficiente os trabalhos com baixa utilização de capacidade. Talvez você queira habilitar o ajuste de escala automático do AWS Glue para esses trabalhos. 

## Conceitos básicos das métricas de observabilidade do AWS Glue
<a name="monitor-observability-getting-started"></a>

**nota**  
 As métricas novas são habilitadas por padrão no console do AWS Glue Studio. 

**Para configurar métricas de observabilidade no AWS Glue Studio:**

1. Faça login no console do AWS Glue e escolha **Trabalhos ETL** no menu do console.

1. Escolha um trabalho clicando no nome do trabalho na seção **Seus trabalhos**.

1. Escolha a guia **Job details** (Detalhes do trabalho).

1. Role até a parte inferior e escolha **Propriedades avançadas** e, em seguida, **Métricas de observabilidade do trabalho**.  
![A captura de tela mostra as propriedades avançadas da guia Detalhes do trabalho. A opção de métricas de observabilidade do trabalho é destacada.](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/job-details-observability-metrics.png)

**Para habilitar as métricas de observabilidade do AWS Glue usando a AWS CLI:**
+  Adicione ao mapa `--default-arguments` o seguinte par chave-valor no arquivo JSON de entrada: 

  ```
  --enable-observability-metrics, true
  ```

## Usar a observabilidade do AWS Glue
<a name="monitor-observability-cloudwatch"></a>

 Como as métricas de observabilidade do AWS Glue são fornecidas por meio do Amazon CloudWatch, você pode usar o console do Amazon CloudWatch, a AWS CLI, o SDK ou a API para consultar os pontos de dados das métricas de observabilidade. Consulte [Como usar a observabilidade do Glue para monitorar a utilização de recursos para reduzir custos](https://aws.amazon.com/blogs/big-data/enhance-monitoring-and-debugging-for-aws-glue-jobs-using-new-job-observability-metrics/) para ver um exemplo de caso de uso de métricas de observabilidade do AWS Glue. 

### Usar a observabilidade do AWS Glue no console do Amazon CloudWatch
<a name="monitor-observability-cloudwatch-console"></a>

**Para consultar e visualizar métricas no console do Amazon CloudWatch:**

1.  Abra o console do Amazon CloudWatch e escolha **Todas as métricas**. 

1.  Em Namespaces personalizados, escolha **AWS Glue**. 

1.  Escolha **Métricas de observabilidade do trabalho, Métricas de observabilidade por fonte ou Métricas de observabilidade por coletor**. 

1. Pesquise o nome da métrica específica, o nome do trabalho, o ID da execução do trabalho e selecione-os.

1. Na guia **Métricas representadas graficamente**, configure a estatística, o período e outras opções preferidas.  
![A captura de tela mostra o console do Amazon CloudWatch e o gráfico de métricas.](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/cloudwatch-console-metrics.png)

**Para consultar uma métrica de observabilidade usando a AWS CLI:**

1.  Crie um arquivo JSON de definição métrica e substitua `your-Glue-job-name` e `your-Glue-job-run-id` pelos seus. 

   ```
   $ cat multiplequeries.json
   [
       {
           "Id": "avgWorkerUtil_0",
           "MetricStat": {
               "Metric": {
                   "Namespace": "Glue",
                   "MetricName": "glue.driver.workerUtilization",
                   "Dimensions": [
                       {
                           "Name": "JobName",
                           "Value": "<your-Glue-job-name-A>"
                       },
                       {
                           "Name": "JobRunId",
                           "Value": "<your-Glue-job-run-id-A>"
                       },
                       {
                           "Name": "Type",
                           "Value": "gauge"
                       },
                       {
                           "Name": "ObservabilityGroup",
                           "Value": "resource_utilization"
                       }
                   ]
               },
               "Period": 1800,
               "Stat": "Minimum",
               "Unit": "None"
           }
       },
       {
           "Id": "avgWorkerUtil_1",
           "MetricStat": {
               "Metric": {
                   "Namespace": "Glue",
                   "MetricName": "glue.driver.workerUtilization",
                   "Dimensions": [
                       {
                           "Name": "JobName",
                           "Value": "<your-Glue-job-name-B>"
                       },
                       {
                           "Name": "JobRunId",
                           "Value": "<your-Glue-job-run-id-B>"
                       },
                       {
                           "Name": "Type",
                           "Value": "gauge"
                       },
                       {
                           "Name": "ObservabilityGroup",
                           "Value": "resource_utilization"
                       }
                   ]
               },
               "Period": 1800,
               "Stat": "Minimum",
               "Unit": "None"
           }
       }
   ]
   ```

1.  Execute o comando `get-metric-data`: 

   ```
   $ aws cloudwatch get-metric-data --metric-data-queries file: //multiplequeries.json \
        --start-time '2023-10-28T18: 20' \
        --end-time '2023-10-28T19: 10'  \
        --region us-east-1
   {
       "MetricDataResults": [
           {
               "Id": "avgWorkerUtil_0",
               "Label": "<your-label-for-A>",
               "Timestamps": [
                   "2023-10-28T18:20:00+00:00"
               ],
               "Values": [
                   0.06718750000000001
               ],
               "StatusCode": "Complete"
           },
           {
               "Id": "avgWorkerUtil_1",
               "Label": "<your-label-for-B>",
               "Timestamps": [
                   "2023-10-28T18:50:00+00:00"
               ],
               "Values": [
                   0.5959183673469387
               ],
               "StatusCode": "Complete"
           }
       ],
       "Messages": []
   }
   ```

## Métricas de observabilidade
<a name="monitor-observability-metrics-definitions"></a>

 A observabilidade do AWS Glue traça o perfil e envia as seguintes métricas do Amazon CloudWatch a cada 30 segundos. Algumas dessas métricas podem ser visíveis na página de monitoramento de execução de trabalhos do AWS Glue Studio. 


| Métrica | Descrição | Categoria | 
| --- | --- | --- | 
| glue.driver.skewness.stage | Categoria métrica: job\_performance<br />Distorção na execução dos estágios do Spark: essa métrica é um indicador do quanto o tempo máximo de duração da tarefa em um determinado estágio é comparado à duração mediana da tarefa nesse estágio. Ela captura a assimetria da execução, que pode ser causada pela assimetria dos dados de entrada ou por uma transformação (por exemplo, junção assimétrica). Os valores dessa métrica estão na faixa de [0, infinito[, em que 0 significa que a razão entre o tempo máximo e a mediana de execução das tarefas, entre todas as tarefas no estágio, é menor que um determinado fator de distorção do estágio. O fator de assimetria de estágio padrão é "5" e pode ser sobrescrito via spark conf: spark.metrics.conf.driver.source.glue.jobPerformance.skewnessFactor<br />Um valor de assimetria de estágio de 1 significa que a proporção é o dobro do fator de assimetria do estágio. <br />O valor de assimetria do estágio é atualizado a cada 30 segundos para refletir a assimetria atual. O valor no final do estágio reflete a assimetria do estágio final.<br />Essa métrica em nível de estágio é usada para calcular a métrica em nível de trabalho. `glue.driver.skewness.job`<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e observabilityGroup (job\_performance)<br />Estatísticas válidas: média, máximo, mínimo, porcentagem<br />Unidade: Contagem | job\_performance | 
| glue.driver.skewness.job | Categoria métrica: job\_performance<br /> A assimetria do trabalho é o máximo da assimetria ponderada de todos os estágios. A assimetria do estágio (glue.driver.skewness.stage) é ponderada com a duração do estágio. Isso é para evitar situações extremas quando um estágio muito assimétrico está realmente funcionando por um tempo muito curto em relação a outros estágios (e, portanto, sua assimetria não é significativa para a performance geral do trabalho e não vale a pena tentar resolver sua assimetria). <br />Essa métrica é atualizada após a conclusão de cada estágio e, portanto, o último valor reflete a assimetria geral real do trabalho.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e observabilityGroup (job\_performance)<br />Estatísticas válidas: média, máximo, mínimo, porcentagem<br />Unidade: Contagem | job\_performance | 
| glue.succeed.ALL | Categoria métrica: erro<br />Número total de execuções de trabalhos com êxito para completar o quadro das categorias de falhas<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (count) e ObservabilityGroup (error)<br />Estatística válida: SUM<br />Unidade: Contagem | erro | 
| glue.error.ALL | Categoria métrica: erro <br />Número total de erros de execução de trabalho para completar o quadro das categorias de falhas<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (count) e ObservabilityGroup (error)<br />Estatística válida: SUM<br />Unidade: Contagem | erro | 
| glue.error.[error category] | Categoria métrica: erro <br />Na verdade, este é um conjunto de métricas que são atualizadas somente quando a execução de um trabalho falha. A categorização de erros ajuda na triagem e na depuração. Quando a execução de uma tarefa falha, o erro que causa a falha é categorizado e a métrica da categoria de erro correspondente é definida como 1. Isso ajuda a realizar análises de falhas ao longo do tempo, bem como a análise geral de erros de trabalhos para identificar as categorias de falhas mais comuns e começar a resolvê-las. O AWS Glue tem 28 categorias de erro, incluindo as categorias de erro OUT\_OF\_MEMORY (driver e executor), PERMISSION, SYNTAX e THROTTLING. As categorias de erro também incluem as categorias de erro COMPILATION, LAUNCH e TIMEOUT.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (count) e ObservabilityGroup (error)<br />Estatística válida: SUM<br />Unidade: Contagem | erro | 
| glue.driver.workerUtilization | Categoria métrica: resource\_utilization <br />A porcentagem dos trabalhadores alocados que são realmente usados. Se não for bom, o ajuste de escala automático pode ajudar.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatísticas válidas: média, máximo, mínimo, porcentagem<br />Unidade: porcentagem | resource\_utilization | 
| glue.driver.memory.heap.[available \| used] | Categoria métrica: resource\_utilization <br />A memória heap disponível/usado do driver durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.driver.memory.heap.used.percentage | Categoria métrica: resource\_utilization <br />A memória heap usada pelo driver (%) durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.driver.memory.non-heap.[available \| used] | Categoria métrica: resource\_utilization <br />A memória não heap disponível/usado do driver durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.driver.memory.non-heap.used.percentage | Categoria métrica: resource\_utilization <br />A memória não heap usada pelo driver (%) durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.driver.memory.total.[available \| used] | Categoria métrica: resource\_utilization <br />A memória total do driver disponível/usada durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.driver.memory.total.used.percentage | Categoria métrica: resource\_utilization <br />A memória total usada pelo driver (%) durante a execução do trabalho. Isso ajuda a entender as tendências de uso da memória, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à memória.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.ALL.memory.heap.[available \| used] | Categoria métrica: resource\_utilization <br />A memória heap disponível/usada dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.ALL.memory.heap.used.percentage | Categoria métrica: resource\_utilization <br />A memória heap usada dos executores (%). ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.ALL.memory.non-heap.[available \| used] | Categoria métrica: resource\_utilization <br />A memória não heap disponível/usada dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.ALL.memory.non-heap.used.percentage | Categoria métrica: resource\_utilization <br />A memória não heap usada (%) dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.ALL.memory.total.[available \| used] | Categoria métrica: resource\_utilization <br />A memória total disponível/usada dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: bytes | resource\_utilization | 
| glue.ALL.memory.total.used.percentage | Categoria métrica: resource\_utilization <br />A memória total usada (%) dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.driver.disk.[available\_GB \| used\_GB] | Categoria métrica: resource\_utilization <br />O espaço em disco disponível/usado do driver durante a execução do trabalho. Isso ajuda a entender as tendências de uso do disco, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à falta de espaço em disco.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: gigabytes | resource\_utilization | 
| glue.driver.disk.used.percentage] | Categoria métrica: resource\_utilization <br />O espaço em disco disponível/usado do driver durante a execução do trabalho. Isso ajuda a entender as tendências de uso do disco, especialmente ao longo do tempo, o que pode ajudar a evitar possíveis falhas, além de depurar falhas relacionadas à falta de espaço em disco.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.ALL.disk.[available\_GB \| used\_GB] | Categoria métrica: resource\_utilization <br />O espaço em disco disponível/usado dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: gigabytes | resource\_utilization | 
| glue.ALL.disk.used.percentage | Categoria métrica: resource\_utilization <br />O espaço em disco disponível/usado/usado(%) dos executores. ALL significa todos os executores.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge) e ObservabilityGroup (resource\_utilization)<br />Estatística válida: média<br />Unidade: porcentagem | resource\_utilization | 
| glue.driver.bytesRead | Categoria métrica: throughput <br />O número de bytes lidos por fonte de entrada nessa execução de trabalho, bem como para TODAS as fontes. Isso ajuda a entender o volume de dados e suas mudanças ao longo do tempo, o que ajuda a resolver problemas como assimetria de dados.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge), ObservabilityGroup (resource\_utilization) e Source (local da fonte de dados)<br />Estatística válida: média<br />Unidade: bytes | throughput | 
| glue.driver.[recordsRead \| filesRead]  | Categoria métrica: throughput <br />O número de registros/arquivos lidos por fonte de entrada nessa execução de trabalho, bem como para TODAS as fontes. Isso ajuda a entender o volume de dados e suas mudanças ao longo do tempo, o que ajuda a resolver problemas como assimetria de dados.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge), ObservabilityGroup (resource\_utilization) e Source (local da fonte de dados)<br />Estatística válida: média<br />Unidade: Contagem | throughput | 
| glue.driver.partitionsRead  | Categoria métrica: throughput <br />O número de partições lidas por fonte de entrada do Amazon S3 nessa execução de trabalho, bem como para TODAS as fontes.<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge), ObservabilityGroup (resource\_utilization) e Source (local da fonte de dados)<br />Estatística válida: média<br />Unidade: Contagem | throughput | 
| glue.driver.bytesWrittten | Categoria métrica: throughput <br />O número de bytes gravados por coletor de saída nessa execução de trabalho, bem como para TODOS os coletores. Isso ajuda a compreender o volume de dados e como ele evolui ao longo do tempo, o que ajuda a resolver problemas como a assimetria do processamento<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge), ObservabilityGroup (resource\_utilization) e Source (local do coletor de dados)<br />Estatística válida: média<br />Unidade: bytes | throughput | 
| glue.driver.[recordsWritten \| filesWritten] | Categoria métrica: throughput <br />O número de registros/arquivos gravados por coletor de saída nessa execução de trabalho, bem como para TODOS os coletores. Isso ajuda a compreender o volume de dados e como ele evolui ao longo do tempo, o que ajuda a resolver problemas como a assimetria do processamento<br />Dimensões válidas: JobName (o nome do trabalho do AWS Glue), JobRunId (a ID de JobRun. ou ALL), Type (gauge), ObservabilityGroup (resource\_utilization) e Source (local do coletor de dados)<br />Estatística válida: média<br />Unidade: Contagem | throughput | 

## Categorias de erros
<a name="monitor-observability-error-categories"></a>


| Categorias de erros | Descrição | 
| --- | --- | 
| COMPILATION\_ERROR | Os erros surgem durante a compilação do código Scala. | 
| CONNECTION\_ERROR | Os erros surgem durante a conexão com um serviço/host remoto/serviço de banco de dados etc. | 
| DISK\_NO\_SPACE\_ERROR | Os erros surgem quando não há mais espaço em disco no driver/executor. | 
| OUT\_OF\_MEMORY\_ERROR | Os erros surgem quando não há mais espaço na memória do driver/executor. | 
| IMPORT\_ERROR | Os erros surgem ao importar dependências. | 
| INVALID\_ARGUMENT\_ERROR | Erros surgem quando os argumentos de entrada são inválidos/ilegais. | 
| PERMISSION\_ERROR | Os erros surgem quando não há permissão para serviços, dados etc.  | 
| RESOURCE\_NOT\_FOUND\_ERROR | Os erros surgem quando os dados, a localização etc. não existem.  | 
| QUERY\_ERROR | Os erros surgem da execução da consulta do Spark SQL.  | 
| SYNTAX\_ERROR | Os erros surgem quando há um erro de sintaxe no script.  | 
| THROTTLING\_ERROR | Os erros surgem ao atingir a limitação de simultaneidade de serviços ou ao exceder a limitação de cotas de serviço. | 
| DATA\_LAKE\_FRAMEWORK\_ERROR | Os erros surgem de estruturas de data lake com suporte nativo do AWS Glue, como Hudi, Iceberg etc. | 
| UNSUPPORTED\_OPERATION\_ERROR | Os erros surgem ao realizar uma operação não compatível. | 
| RESOURCES\_ALREADY\_EXISTS\_ERROR | Os erros surgem quando um recurso a ser criado ou adicionado já existe. | 
| GLUE\_INTERNAL\_SERVICE\_ERROR | Os erros surgem quando há um problema de serviço interno do AWS Glue.  | 
| GLUE\_OPERATION\_TIMEOUT\_ERROR | Os erros surgem quando uma operação do AWS Glue atinge o tempo limite. | 
| GLUE\_VALIDATION\_ERROR | Os erros surgem quando um valor exigido não pôde ser validado para um trabalho do AWS Glue. | 
| GLUE\_JOB\_BOOKMARK\_VERSION\_MISMATCH\_ERROR | Os erros surgem quando o mesmo trabalho transcreve o mesmo bucket de origem e grava no mesmo destino ou em outro simultaneamente (simultaneidade >1) | 
| LAUNCH\_ERROR | Os erros surgem durante a fase de lançamento do trabalho do AWS Glue. | 
| DYNAMODB\_ERROR | Os erros genéricos surgem do serviço do Amazon DynamoDB. | 
| GLUE\_ERROR | Os erros genéricos surgem do serviço do AWS Glue. | 
| LAKEFORMATION\_ERROR | Os erros genéricos surgem do serviço do AWS Lake Formation. | 
| REDSHIFT\_ERROR | Os erros genéricos surgem do serviço do Amazon Redshift. | 
| S3\_ERROR | Os erros genéricos surgem do serviço do Amazon S3. | 
| SYSTEM\_EXIT\_ERROR | Erro genérico de saída do sistema. | 
| TIMEOUT\_ERROR | Os erros genéricos surgem quando o trabalho falha devido ao tempo limite da operação. | 
| UNCLASSIFIED\_SPARK\_ERROR | Os erros genéricos surgem do Spark. | 
| UNCLASSIFIED\_ERROR | Categoria de erro padrão. | 

## Limitações
<a name="monitoring-observability-limitations"></a>

**nota**  
O `glueContext` deve ser inicializado para publicar as métricas.

 Na Dimensão de origem, o valor é o caminho ou o nome da tabela do Amazon S3, dependendo do tipo de fonte. Além disso, se a origem for JDBC e a opção de consulta for usada, a string de consulta será definida na dimensão de origem. Se o valor tiver mais de 500 caracteres, ele será reduzido em 500 caracteres. Abaixo, estão as limitações do valor: 
+ Os caracteres não ASCII serão removidos.
+ Se o nome da fonte não contiver nenhum caractere ASCII, ele será convertido para <non-ASCII input>.

### Limitações e considerações sobre métricas de throughput
<a name="monitoring-observability-considerations"></a>
+  O DataFrame e o DynamicFrame baseado em DataFrame (por exemplo, JDBC, leitura de parquet no Amazon S3) são compatíveis, no entanto, o DynamicFrame baseado em RDD (por exemplo, leitura de csv, json no Amazon S3 etc.) não é compatível. Tecnicamente, todas as leituras e gravações visíveis na UI do Spark são compatíveis. 
+  A métrica `recordsRead` será emitida se a fonte de dados for uma tabela de catálogo e o formato for JSON, CSV, text ou Iceberg. 
+  As métricas `glue.driver.throughput.recordsWritten`, `glue.driver.throughput.bytesWritten` e `glue.driver.throughput.filesWritten` não estão disponíveis nas tabelas JDBC e Iceberg. 
+  As métricas podem estar atrasadas. Se o trabalho for concluído em cerca de um minuto, talvez não haja métricas de throughput nas métricas do Amazon CloudWatch. 