Gerenciar o Data Flow
Saiba como gerenciar o serviço Data Flow, incluindo a configuração das políticas e armazenamento corretos para gerenciar seus dados e as métricas disponíveis.
Configurar para Gerenciar Dados
- Configurar Grupos de Identidades
- Configurar Políticas de Gerenciamento de Identidades e Acessos
- Federação com um Provedor de Identidade
Eventos do Serviço Data Flow
Eventos são arquivos JSON emitidos com algumas operações de serviço e contêm informações sobre essa operação.
Para obter informações sobre como gerenciar regras do Oracle Cloud Infrastructure Events, consulte Gerenciando Regras de Eventos.
- um Aplicativo do serviço Data Flow é criado
- um Aplicativo do Serviço Data Flow foi excluído
- um Aplicativo do Serviço Data Flow é atualizado
- uma Execução do serviço Data Flow começa
- uma Execução do Serviço Data Flow termina
Você pode exibir esses Eventos no serviço Events. Configure regras para executar ações quando esses eventos forem emitidos, por exemplo, enviando por e-mail um arquivo JSON ou acionando uma Função. Ao criar regras com base no Tipo de Evento, selecione Data Flow
como o Nome do Serviço. As ações disponíveis são descritas na documentação de Eventos em Visão Geral do Serviço Events.
Tipos de Evento para Aplicativos
O serviço Data Flow emite eventos, na forma de um arquivo JSON, quando um Aplicativo é criado, excluído ou atualizado.
Nome Simples | Descrição | Tipo de Evento |
---|---|---|
Aplicativo - Criar | Emitido quando um aplicativo do serviço Data Flow é criado. | com.oraclecloud.dataflow.createapplication |
Aplicativo - Excluir | Emitido quando um aplicativo do serviço Data Flow é excluído. | com.oraclecloud.dataflow.deleteapplication |
Aplicativo - Atualizar | Emitido quando um aplicativo do serviço Data Flow é atualizado. | com.oraclecloud.dataflow.updateapplication |
Este é um arquivo de evento de referência para um evento de criação do Aplicativo Data Flow concluído com sucesso.
{
"id": "ocid1.eventschema.oc1.phx.abyhqljr7e6dxrsvyp2rowvkgqynfzjuo5gjiqo5gnkfcq7fzmaf7nzskk2q",
"exampleEvent": {
"eventType": "com.oraclecloud.dataflow.createapplication",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "dataflow",
"eventTime": "2022-07-17T02:17:41Z",
"contentType": "application/json",
"data": {
"eventGroupingId": "unique_id",
"eventName": "CreateApplication",
"compartmentId": "ocid1.compartment.oc1.unique_id",
"compartmentName": "example_compartment",
"resourceName": "application_name",
"resourceId": "ocid1.dataflowapplication.oc1.phx.unique_id",
"availabilityDomain": "AD",
"definedTags": {
"Oracle-Tags": {
"CreatedBy": "user_name",
"CreatedOn": "2022-07-17T02:17:40.799Z"
}
},
"request": {
"id": "unique_id",
"path": "/latest/applications",
"action": "POST",
"parameters": {},
"headers": {}
},
"response": {
"status": "200",
"responseTime": "2022-07-17T02:17:41Z",
"headers": {},
"payload": {},
"message": "application_name CreateApplication succeeded"
}
},
"eventID": "unique_id",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..example_compartment"
}
},
"serviceName": "Data Flow",
"displayName": "Application - Create",
"additionalDetails": [],
"timeCreated": "2022-07-18T04:01:56Z"
}
Este é um arquivo de evento de referência para um evento de exclusão do Aplicativo Data Flow concluído com sucesso.
{
"id": "ocid1.eventschema.oc1.phx.abyhqljrhnwwfto2ed3ytl7xaumc4qrjzsuumfagptovb5rhjjp266cryfpa",
"exampleEvent": {
"eventType": "com.oraclecloud.dataflow.deleteapplication",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "dataflow",
"eventTime": "2022-07-18T00:10:14Z",
"contentType": "application/json",
"data": {
"eventGroupingId": "unique_id",
"eventName": "DeleteApplication",
"compartmentId": "ocid1.compartment.oc1.unique_id",
"compartmentName": "example-compartment",
"resourceName": "",
"resourceId": "ocid1.dataflowapplication.oc1.phx.unique_id",
"availabilityDomain": "AD",
"definedTags": {
"Oracle-Tags": {
"CreatedBy": "user_name",
"CreatedOn": "2022-07-17T02:17:40.799Z"
}
},
"request": {
"id": "unique_id",
"path": "/latest/applications/ocid1.dataflowapplication.oc1.phx.unique_id",
"action": "DELETE",
"parameters": {},
"headers": {}
},
"response": {
"status": "204",
"responseTime": "2022-07-18T00:10:14Z",
"headers": {},
"payload": {},
"message": "DeleteApplication succeeded"
}
},
"eventID": "unique_id",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..unique_id"
}
},
"serviceName": "Data Flow",
"displayName": "Application - Delete",
"additionalDetails": [],
"timeCreated": "2022-07-18T04:01:56Z"
}
Este é um arquivo de evento de referência para um evento de atualização do Aplicativo Data Flow concluído com sucesso.
{
"id": "ocid1.eventschema.oc1.phx.abyhqljrf42fatkajcznyzhdilv4c3sivrffbfgi45wm656tyqzwuf6ndwpa",
"exampleEvent": {
"eventType": "com.oraclecloud.dataflow.updateapplication",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "dataflow",
"eventTime": "2022-07-18T00:07:08Z",
"contentType": "application/json",
"data": {
"eventGroupingId": "/unique_id",
"eventName": "UpdateApplication",
"compartmentId": "ocid1.compartment.oc1..unique_id",
"compartmentName": "example-compartment",
"resourceName": "application_name",
"resourceId": "ocid1.dataflowapplication.oc1.phx.unique_id",
"availabilityDomain": "AD",
"freeformTags": {},
"definedTags": {
"Oracle-Tags": {
"CreatedBy": "user_name",
"CreatedOn": "2022-07-18T00:07:06.095Z"
}
},
"request": {
"id": "unique_id",
"path": "/latest/applications/ocid1.dataflowapplication.oc1.phx.unique_id",
"action": "PUT",
"parameters": {},
"headers": {}
},
"response": {
"status": "200",
"responseTime": "2022-07-18T00:07:08Z",
"headers": {},
"payload": {},
"message": "application_name UpdateApplication succeeded"
}
},
"eventID": "unique_id",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..unique_id"
}
},
"serviceName": "Data Flow",
"displayName": "Application - Update",
"additionalDetails": [],
"timeCreated": "2022-07-18T04:01:56Z"
}
Tipos de Evento para Criar Jobs de Execução
O serviço Data Flow emite eventos, na forma de um arquivo JSON, quando uma Execução de criação começa ou termina.
Nome Simples | Descrição | Tipo de Evento |
---|---|---|
Executar - Início | Emitida quando uma solicitação para acionar uma execução do serviço Data Flow é submetida com sucesso. | com.oraclecloud.dataflow.createrun.begin |
Executar - Fim | Emitido quando o processamento da solicitação de execução enviada é concluído e a execução faz a transição para um estado de terminal SUCCEEDED , CANCELED , FAILED ou STOPPED . |
com.oraclecloud.dataflow.createrun.end |
Este é um arquivo de evento de referência para um evento inicial de Execução do Serviço Data Flow concluído com sucesso.
{
"id": "ocid1.eventschema.oc1.phx.abyhqljrbhvyktxafsvf7p7thtdu5eqgwqnfxflwzlu52rkxpu3feb2p7zfa",
"exampleEvent": {
"eventType": "com.oraclecloud.dataflow.createrun.begin",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "dataflow",
"eventTime": "2022-07-18T04:01:56Z",
"contentType": "application/json",
"data": {
"eventGroupingId": "unique_id",
"eventName": "CreateRun",
"compartmentId": "ocid1.compartment.oc1..unique_id",
"compartmentName": "example_compartment",
"resourceName": "example_run",
"resourceId": "ocid1.dataflowrun.oc1.phx.unique_id",
"availabilityDomain": "availability_domain",
"definedTags": {
"Oracle-Tags": {
"CreatedBy": "unique_id",
"CreatedOn": "2022-07-18T04:01:55.278Z"
}
},
"request": {
"id": "unique_id",
"path": "/latest/runs",
"action": "POST",
"parameters": {},
"headers": {}
},
"response": {
"status": "200",
"responseTime": "2022-07-18T04:01:56Z",
"headers": {},
"payload": {},
"message": "example_run CreateRun succeeded"
}
},
"eventID": "unique-id",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..unique_id"
}
},
"serviceName": "Data Flow",
"displayName": "Run - Begin",
"additionalDetails": [],
"timeCreated": "2022-07-18T04:01:56Z"
}
Este é um arquivo de evento de referência para um evento final de Execução do Serviço Data Flow concluído com sucesso.
{
"id": "ocid1.eventschema.oc1.phx.abyhqljriljgnkdbqfuagrwc5h57kc2cpwphgcxpxkgqp6mnarjjo3zvhy7q",
"exampleEvent": {
"eventType": "com.oraclecloud.dataflow.createrun.end",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "dataflow",
"eventTime": "2022-07-18T04:06:11Z",
"contentType": "application/json",
"data": {
"eventGroupingId": "unique_id",
"eventName": "CreateRun",
"compartmentId": "ocid1.compartment.oc1..unique_id",
"compartmentName": "example_compartment",
"resourceName": "example_run",
"resourceId": "ocid1.dataflowrun.oc1.phx.unique_id",
"availabilityDomain": "availability_domain",
"request": {},
"response": {
"status": "204",
"responseTime": "2022-07-18T04:06:11Z",
"message": "example_run CreateRun succeeded"
},
"additionalDetails": {
"lifecycleState": "SUCCEEDED" | CANCELED | FAILED | STOPPED"
,
"type": "BATCH | STREAMING | SESSION",
"language": "JAVA | SCALA | PYTHON | SQL",
"sparkVersion": "3.2.1 | 3.0.2 | 2.4.4",
"applicationId": "ocid1.dataflowapplication.oc1.phx.unique_id",
"tenantId": "ocid1.tenancy.oc1..unique_id"
}
},
"eventID": "unique_id",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..unique_ID"
}
},
"serviceName": "Data Flow",
"displayName": "Run - End",
"additionalDetails": [
{ "name": "lifecycleState", "type": "string"},
{ "name": "type", "type": "string"},
{ "name": "language", "type": "string"},
{ "name": "sparkVersion", "type": "string"},
{ "name": "applicationId", "type": "string"},
{ "name": "tenantId", "type": "string"}
],
"timeCreated": "2022-07-18T04:06:11Z"
}
O evento Run-End
do serviço Data Flow é criado quando a Execução do Serviço Data Flow atinge um estado terminal de SUCCEEDED
, CANCELED
, FAILED
ou STOPPED
. O evento Run-End
tem os seguintes campos extras nos quais o serviço Events pode criar filtros de regra:lifecycleState
é os estados do ciclo de vida de execução do serviço Data Flow.type
é o tipo de execução do serviço Data Flow.language
é a linguagem de código do Spark correspondente.sparkVersion
é a versão do Spark de execução do serviço Data Flow usada.applicationId
é o OCID do aplicativo Data Flow correspondente para a execução do serviço Data Flow.tenantId
é o OCID do tenant que enviou a execução.
"additionalDetails": {
"lifecycleState": "SUCCEEDED | CANCELED | FAILED | STOPPED",
"type": "BATCH | STREAMING | SESSION",
"language": "JAVA | SCALA | PYTHON | SQL",
"sparkVersion": "3.2.1 | 3.0.2 | 2.4.4",
"applicationId": "ocid1.dataflowapplication.oc1.phx.unique_id",
"tenantId": "ocid1.tenancy.oc1..unique_id"
}
Métricas do Data Flow
Saiba mais sobre as métricas relacionadas ao Spark disponíveis no namespace de métricas oci_data_flow
.
Visão Geral das Métricas
As métricas do serviço Data Flow ajudam a monitorar o número de tarefas concluídas ou com falha e a quantidade de dados envolvidos. Elas são métricas de serviço gratuitas e estão disponíveis em Métricas do Serviço ou no Metrics Explorer. Consulte Exibindo as Métricas para obter mais informações.
Terminologia
Esses termos ajudam a compreender o que está disponível nas métricas do serviço Data Flow.
- Namespace:
- Um namespace é um contêiner de métricas do serviço Data Flow. O namespace identifica o serviço que está enviando as métricas. O namespace do serviço Data Flow é
oci_dataflow
.
- Métricas:
- Métricas são o conceito fundamental em telemetria e monitoramento. As métricas definem um conjunto de séries temporais de pontos de dados. Cada métrica é definida exclusivamente por:
- namespace
- nome da métrica
- identificador de compartimento
- um conjunto de uma ou mais dimensões
- uma unidade de medida
- Dimensões:
- Uma dimensão é um par chave-valor que define as características associadas à métrica. O serviço Data Flow tem cinco dimensões:
resourceId
: O OCID de uma instância de Execução do serviço Data Flow.resourceName
: O nome que você atribuiu ao recurso Executar. Não há garantia de ele ser único.applicationId
: O OCID de uma instância do Aplicativo do serviço Data Flow.applicationName
: O nome que você forneceu ao recurso do Aplicativo. Não há garantia de ele ser único ou final.executorId
: Um cluster do Spark consiste em um driver e um ou mais executores. O driver temexecutorId = driver
, o executor temexecutorId = 1.2.3...n
.
- Estatísticas:
- As estatísticas são agregações de dados de métrica em períodos especificados. As agregações são feitas usando o namespace, o nome da métrica, as dimensões e a unidade de medida do ponto de dados dentro de um período especificado.
- Alarmes:
- Os alarmes são usados para automatizar o monitoramento e o desempenho das operações. Um alarme rastreia as alterações que ocorrem em um período específico e executa uma ou mais ações definidas, com base nas regras definidas para a métrica.
Pré-requisitos
Para monitorar recursos no serviço Data Flow, você deve ter o tipo necessário de acesso em uma política criada por um administrador.
A política deve fornecer acesso aos serviços de monitoramento e aos recursos que estão sendo monitorados. Esse requisito se aplica se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você tentar executar uma ação e receber uma mensagem de que não tem permissão ou que não está autorizado, confirme com o administrador o tipo de acesso concedido e em qual compartimento trabalhar. Para obter mais informações sobre autorizações de usuário para monitoramento, consulte a seção Autenticação e Autorização do serviço relacionado: Monitoring ou Notifications.
Métricas Disponíveis
Aqui estão as métricas disponíveis para o serviço Data Flow. As métricas do plano de controle são listadas primeiro e depois as métricas do plano de dados.
Nome da Métrica | Nome para Exibição | Dimensões | Estatística | Descrição |
---|---|---|---|---|
RunTotalStartUpTime |
Tempo de Inicialização da Execução |
|
Médio | O tempo geral de inicialização de uma execução contém cronogramas para a designação de recursos e a inicialização do job do Spark, e o tempo que ela espera em várias filas internas ao serviço. |
RunExecutionTime |
Tempo de Execução do Processo |
|
Médio | O tempo que leva para concluir uma execução, do início à conclusão. |
RunTotalTime |
Total de Runtime |
|
Médio | A soma do tempo de inicialização da Execução e do Tempo de Execução do Processo. |
RunSucceeded |
Execução Bem-sucedida |
|
Contagem | Se a execução foi concluída com êxito. |
RunFailed |
Falha na Execução |
|
Contagem | Se a execução falhou ou não. |
Nome da Métrica | Nome para Exibição | Dimensões | Estatística | Descrição |
---|---|---|---|---|
CpuUtilization |
Utilização da CPU |
|
Porcentagem | A utilização da CPU pelo contêiner alocado para o driver ou o executor como uma porcentagem. |
DiskReadBytes |
Bytes de Leitura de Disco |
|
Sum | O número de bytes lidos de todos os dispositivos de bloco pelo contêiner alocado para o driver ou o executor em um determinado intervalo de tempo. |
DiskWriteBytes |
Bytes de Gravação em Disco |
|
Sum | O número de bytes gravados de todos os dispositivos de bloco pelo contêiner alocado para o driver ou o executor em um determinado intervalo de tempo. |
FileSystemUtilization |
Utilização do Sistema de Arquivos |
|
Porcentagem | O uso do sistema de arquivos pelo contêiner alocado para o driver ou o executor como uma porcentagem. |
GcCpuUtilization |
Utilização da CPU do GC |
|
Porcentagem | O uso da memória pelo Coletor de lixo Java do driver ou do executor como uma porcentagem. |
MemoryUtilization |
Utilização da Memória |
|
Porcentagem | O uso da memória pelo contêiner alocado para o driver ou o executor como uma porcentagem. |
NetworkReceiveBytes |
Bytes Recebidos na Rede |
|
Sum | O número de bytes recebidos da interface de rede pelo contêiner alocado para o driver ou o executor em um determinado intervalo de tempo. |
NetworkTransmitBytes |
Bytes Transmitidos na Rede |
|
Sum | O número de bytes transmitidos da interface de rede pelo contêiner alocado para o driver ou o executor em um determinado intervalo de tempo. |
Exibindo as Métricas
Você pode exibir métricas do serviço Data Flow de várias maneiras.
- Na Console, selecione o menu de navegação, selecione Observabilidade e Gerenciamento e, em Monitoramento, selecione Métricas do Serviço. Consulte Visão Geral do Serviço Monitoring para saber como usar essas métricas.
- Na Console, selecione o menu de navegação, selecione Observabilidade e Gerenciamento e, em Monitoramento, selecione Explorador de Métricas. Consulte Visão Geral do Serviço Monitoring para saber como usar essas métricas.
- Na Console, selecione o menu de navegação, selecione Data Flow e Execuções. Em Recursos, selecione Métricas e veja as métricas específicas desta Execução. Defina o Hora inicial e o Hora final conforme apropriado, ou um período de Seleções Rápidas. Para cada gráfico, você pode especificar um Intervalo e as Opções sobre como exibir cada métrica.
- Na Console, selecione o menu de navegação, selecione Data Flow e Aplicativos. Você vê as métricas específicas para as Execuções deste Aplicativo. Defina o Hora inicial e o Hora final conforme apropriado, ou um período de Seleções Rápidas. Para cada gráfico, você pode especificar um Intervalo e uma Estatística, e as Opções sobre como exibir cada métrica.