Gestion de Data Flow
Apprenez à gérer Data Flow et à configurer les stratégies et le stockage appropriés pour gérer vos données, ainsi que les mesures disponibles.
Configuration de gestion des données
- Configurer des groupes d'identités
- Configuation de stratégies Identity and Access Management
- Fédération avec un fournisseur d'identités
Evénements Data Flow
Les événements sont des fichiers JSON émis avec certaines opérations de service qui contiennent des informations sur l'opération concernée.
Pour plus d'informations sur la gestion des règles pour Oracle Cloud Infrastructure Events, reportez-vous à Gestion des règles pour Events.
- une application Data Flow est créée
- une application Data Flow est supprimée
- une application Data Flow est mise à jour
- Début de l'exécution d'un flux de données
- Fin de l'exécution d'un flux de données
Vous pouvez afficher ces événements dans le service Events. Configurez des règles pour effectuer des actions lorsque ces événements sont émis, par exemple, vous envoyer un fichier JSON par courriel ou déclencher une fonction. Lorsque vous créez des règles basées sur le type d'événement, sélectionnez Data Flow comme nom de service. Les actions disponibles sont décrites dans la documentation Events dans Présentation d'Events.
Types d'événement pour les applications
Data Flow émet des événements, sous la forme d'un fichier JSON, lorsqu'une application est créée, supprimée ou mise à jour.
| Nom convivial | Description | Type d'événement |
|---|---|---|
| Application - Créer | Emise lors de la création d'une application Data Flow. |
com.oraclecloud.dataflow.createapplication
|
| Application - Supprimer | Emise lorsqu'une application Data Flow est supprimée. |
com.oraclecloud.dataflow.deleteapplication
|
| Application - Mettre à jour | Emise lors de la mise à jour d'une application Data Flow. |
com.oraclecloud.dataflow.updateapplication
|
Voici un fichier d'événement de référence pour un événement de création d'application Data Flow qui s'est terminé avec succès.
{
"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"
}
Voici un fichier d'événement de référence pour un événement de suppression d'application Data Flow qui s'est terminé avec succès.
{
"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"
}
Voici un fichier d'événement de référence pour un événement de mise à jour d'application Data Flow qui s'est terminé avec succès.
{
"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"
}
Types d'événement pour la création de travaux d'exécution
Data Flow émet des événements, sous la forme d'un fichier JSON, lorsqu'une exécution de création commence ou se termine.
| Nom convivial | Description | Type d'événement |
|---|---|---|
| Exécuter - Commencer | Emise lorsqu'une demande de déclenchement d'une exécution Data Flow est soumise. |
com.oraclecloud.dataflow.createrun.begin
|
| Exécution - Fin | Emise lorsque le traitement de la demande d'exécution soumise est terminé et que l'exécution est passée à l'état de terminal SUCCEEDED, CANCELED, FAILED ou STOPPED. |
com.oraclecloud.dataflow.createrun.end
|
Voici un fichier d'événement de référence pour un événement de début d'exécution Data Flow qui s'est terminé avec succès.
{
"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"
}
Voici un fichier d'événement de référence pour un événement de fin d'exécution Data Flow qui s'est terminé avec succès.
{
"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"
} L'événement Data Flow Run-End est créé lorsque l'exécution Data Flow atteint l'état de terminal SUCCEEDED, CANCELED, FAILED ou STOPPED. L'événement Run-End comporte les champs supplémentaires suivants sur lesquels le service Events peut créer des filtres de règle :-
lifecycleStatecorrespond aux états de cycle de vie d'exécution de Data Flow. -
typeest le type d'exécution Data Flow. -
languageest le langage de code Spark correspondant. -
sparkVersionest la version de Spark d'exécution de Data Flow utilisée. -
applicationIdest l'OCID de l'application Data Flow correspondante pour l'exécution Data Flow. -
tenantIdest l'OCID du locataire qui a soumis l'exécution.
"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"
}
Mesures de Data Flow
Découvrez les mesures relatives à Spark disponibles dans l'espace de noms de mesure oci_data_flow.
Présentation des mesures
Les mesures de Data Flow vous aident à surveiller le nombre de tâches terminées ou en échec, et la quantité de données impliquées. Il s'agit de mesures de service gratuites et disponibles dans Service Metrics ou Metrics Explorer. Pour plus d'informations, reportez-vous à Visualisation des mesures.
Terminologie
Ces termes vous aident à comprendre ce qui est disponible avec les mesures de Data Flow.
- Espace de noms :
- Un espace de noms est un conteneur pour les mesures de Data Flow. L'espace de noms identifie le service envoyant les mesures. L'espace de noms pour Data Flow est
oci_dataflow.
- Mesures :
- Les mesures sont le concept fondamental dans le domaine de la télémétrie et de la surveillance. Les mesures définissent un ensemble de points de données avec une série temporelle. Chaque mesure est définie de manière unique par les éléments suivants :
- espace de travail
- nom de mesure
- identificateur de compartiment
- ensemble de dimensions
- unité de mesure
- Dimensions :
- Une dimension est une paire clé-valeur qui définit les caractéristiques associées à la mesure. Data Flow compte cinq dimensions :
-
resourceId: OCID d'une instance d'exécution Data Flow. -
resourceName: nom que vous avez donné à la ressource d'exécution. Il n'est pas garanti qu'il soit unique. -
applicationId: OCID d'une instance d'application Data Flow. -
applicationName: nom que vous avez donné à la ressource d'application. Il n'est pas garanti qu'il soit unique ou finalisé. -
executorId: un cluster Spark est composé d'un pilote et d'exécuteurs. Pour le pilote :executorId = driver, pour les exécuteurs :executorId = 1.2.3...n.
-
- Statistiques :
- Les statistiques sont des agrégations de données de mesure au cours de périodes spécifiées. Les agrégations sont effectuées à l'aide de l'espace de noms, du nom de la mesure, des dimensions et de l'unité de mesure du point de données dans la période spécifiée.
- Alarmes :
- Les alarmes permettent d'automatiser la surveillance et les performances des opérations. Une alarme effectue le suivi des modifications apportées au cours d'une période spécifique et exécute des actions définies, en fonction des règles définies pour la mesure.
Prérequis
Pour surveiller les ressources dans Data Flow, vous devez disposer du type d'accès requis dans une stratégie écrite par un administrateur.
La stratégie doit vous donner accès aux services de surveillance et aux ressources surveillées. Cette exigence s'applique que vous utilisiez la console ou l'API REST avec un kit SDK, l'interface de ligne de commande ou un autre outil. Si vous essayez d'effectuer une action et qu'un message vous indique que vous n'y êtes plus autorisé, vérifiez auprès du gestionnaire le type d'accès qui a été accordé et quel compartiment dans lequel vous souhaitez travailler. Pour plus d'informations sur les autorisations utilisateur liées à la surveillance, reportez-vous à la section Authentification et autorisation du service associé : Monitoring ou Notifications.
Mesures disponibles
Voici les mesures disponibles pour Data Flow. Les mesures de plan de contrôle sont répertoriées en premier, suivies des mesures de plan de données.
| Nom de mesure | Afficher le nom | Dimensions | Statistiques | Description |
|---|---|---|---|---|
RunTotalStartUpTime
|
Durée de démarrage de l'exécution |
|
Moyenne | Le temps de démarrage global d'une exécution contient les durées d'affectation des ressources et le démarrage du travail Spark, ainsi que le temps d'attente dans différentes files d'attente internes au service. |
RunExecutionTime
|
Durée de traitement de l'exécution |
|
Moyenne | Durée nécessaire pour terminer une exécution, à partir de son démarrage jusqu'à la fin du traitement. |
RunTotalTime
|
Durée totale d'exécution |
|
Moyenne | Somme de la durée de démarrage de l'exécution et de la durée de traitement de l'exécution. |
RunSucceeded
|
Exécution réussie |
|
Nombre | Indique si l'exécution s'est terminée avec succès. |
RunFailed
|
Echec de l'exécution |
|
Nombre | Indique si l'exécution a échoué. |
| Nom de mesure | Afficher le nom | Dimensions | Statistiques | Description |
|---|---|---|---|---|
CpuUtilization
|
Utilisation de l'UC |
|
Pour cent | Pourcentage d'utilisation de l'UC par le conteneur alloué au pilote ou à l'exécuteur. |
DiskReadBytes
|
Octets de lecture sur disque |
|
Sum | Nombre d'octets lus à partir de toutes les unités de blocs par le conteneur alloué au pilote ou à l'exécuteur au cours d'un intervalle donné. |
DiskWriteBytes
|
Octets d'écriture sur disque |
|
Sum | Nombre d'octets écrits à partir de toutes les unités de blocs par le conteneur alloué au pilote ou à l'exécuteur au cours d'un intervalle donné. |
FileSystemUtilization
|
Utilisation du système de fichiers |
|
Pour cent | Pourcentage d'utilisation du système de fichiers par le conteneur affecté au pilote ou à l'exécuteur. |
GcCpuUtilization
|
Utilisation de l'UC par GC |
|
Pour cent | Pourcentage d'utilisation de la mémoire par le processus Garbage Collector Java du pilote ou de l'exécuteur. |
MemoryUtilization
|
Utilisation de la mémoire |
|
Pour cent | Pourcentage d'utilisation de la mémoire par le conteneur affecté au pilote ou à l'exécuteur. |
NetworkReceiveBytes
|
Octets de réception réseau |
|
Sum | Nombre d'octets reçus à partir de l'interface réseau par le conteneur alloué au pilote ou à l'exécuteur au cours d'un intervalle donné. |
NetworkTransmitBytes
|
Octets de transmission réseau |
|
Sum | Nombre d'octets transmis à partir de l'interface réseau par le conteneur alloué au pilote ou à l'exécuteur au cours d'un intervalle donné. |
Visualisation des mesures
Vous pouvez visualiser les mesures de Data Flow de différentes manières.
- Dans la console, sélectionnez le menu de navigation, sélectionnez Observation et gestion, puis sous Surveillance, sélectionnez Mesures de service. Pour savoir comment utiliser ces mesures, reportez-vous à Présentation de Monitoring.
- Dans la console, sélectionnez le menu de navigation, sélectionnez Observation et gestion, puis, sous Surveillance, sélectionnez Explorateur de mesures. Pour savoir comment utiliser ces mesures, reportez-vous à Présentation de Monitoring.
- Dans la console, sélectionnez le menu de navigation, Flux de données, puis Exécutions. Sous Resources, sélectionnez Metrics et les mesures propres à cette exécution apparaissent. Définissez l'heure de début et l'heure de fin, ou une période dans Sélection rapide. Pour chaque graphique, vous pouvez indiquer un intervalle et les options d'affichage de chaque mesure.
- Dans la console, sélectionnez le menu de navigation, Flux de données, puis Applications. Les mesures propres aux exécutions de cette application apparaissent. Définissez l'heure de début et l'heure de fin, ou une période dans Sélection rapide. Pour chaque graphique, vous pouvez indiquer un Intervalle, une Statistique et les Options d'affichage pour chaque mesure.