Data Flow verwalten
Erfahren Sie, wie Sie Data Flow verwalten, einschließlich der Einrichtung der richtigen Policys und Speicher zur Verwaltung Ihrer Daten sowie der verfügbaren Metriken.
Einrichtung zur Verwaltung von Daten
- Identitätsgruppen einrichten
- Identity and Access Management-Policys einrichten
- Föderation mit einem Identitätsprovider
Data Flow-Ereignisse
Ereignisse sind JSON-Dateien, die mit bestimmten Servicevorgängen ausgegeben werden und Informationen zu diesem Vorgang enthalten.
Informationen zum Verwalten von Regeln für Oracle Cloud Infrastructure Events finden Sie unter Regeln für Ereignisse verwalten.
- Eine Datenflussanwendung wird erstellt
- Eine Datenflussanwendung wird gelöscht
- Eine Datenflussanwendung wird aktualisiert
- Eine Datenflussausführung beginnt
- Eine Datenflussausführung endet
Sie können diese Ereignisse im Events-Service anzeigen. Richten Sie Regeln ein, um Aktionen auszuführen, wenn diese Ereignisse ausgegeben werden. Beispiel: Sie erhalten eine JSON-Datei per E-Mail, oder Sie lösen eine Funktion aus. Wenn Sie Regeln basierend auf dem Ereignistyp erstellen, wählen Sie Data Flow als Servicename aus. Die verfügbaren Aktionen werden in der Dokumentation "Ereignisse" unter Überblick über Ereignisse beschrieben.
Ereignistypen für Anwendungen
Data Flow gibt Ereignisse in Form einer JSON-Datei aus, wenn eine Anwendung erstellt, gelöscht oder aktualisiert wird.
| Anzeigename | Beschreibung | Veranstaltungstyp |
|---|---|---|
| Anwendung - Erstellen | Wird bei der Erstellung einer Datenflussanwendung ausgegeben. |
com.oraclecloud.dataflow.createapplication
|
| Anwendung - Löschen | Wird ausgegeben, wenn eine Datenflussanwendung gelöscht wird. |
com.oraclecloud.dataflow.deleteapplication
|
| Anwendung - Aktualisieren | Wird ausgegeben, wenn eine Datenflussanwendung aktualisiert wird. |
com.oraclecloud.dataflow.updateapplication
|
Im Folgenden finden Sie eine Referenzereignisdatei für ein erfolgreich abgeschlossenes Erstellungsereignis einer Datenflussanwendung.
{
"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"
}
Im Folgenden finden Sie eine Referenzereignisdatei für ein erfolgreich abgeschlossenes Löschereignis einer Datenflussanwendung.
{
"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"
}
Im Folgenden finden Sie eine Referenzereignisdatei für ein Aktualisierungsereignis einer Datenflussanwendung, das erfolgreich abgeschlossen wurde.
{
"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"
}
Ereignistypen für "Ausführungsjobs erstellen"
Data Flow gibt Ereignisse in Form einer JSON-Datei aus, wenn eine Erstellungsausführung beginnt oder endet.
| Anzeigename | Beschreibung | Veranstaltungstyp |
|---|---|---|
| Ausführen - Beginn | Wird ausgegeben, wenn eine Anforderung zum Auslösen einer Datenflussausführung erfolgreich weitergeleitet wurde. |
com.oraclecloud.dataflow.createrun.begin
|
| Ausführen - Ende | Wird ausgegeben, wenn die Verarbeitung der weitergeleiteten Ausführanforderung abgeschlossen ist und die Ausführung in den Endstatus SUCCEEDED, CANCELED, FAILED oder STOPPED übergegangen ist. |
com.oraclecloud.dataflow.createrun.end
|
Im Folgenden finden Sie eine Referenzereignisdatei für ein Startereignis der Datenflussausführung, das erfolgreich abgeschlossen wurde.
{
"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"
}
Im Folgenden finden Sie eine Referenzereignisdatei für ein erfolgreich abgeschlossenes Data Flow-Ausführungsendereignis.
{
"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"
} Das Data Flow-Ereignis Run-End wird erstellt, wenn die Data Flow-Ausführung den Endstatus SUCCEEDED, CANCELED, FAILED oder STOPPED erreicht. Das Ereignis Run-End enthält die folgenden zusätzlichen Felder, in denen der Events-Service Regelfilter erstellen kann:-
lifecycleStateist der Lebenszyklusstatus der Data Flow-Ausführung. -
typeist der Data Flow-Ausführungstyp. -
languageist die entsprechende Spark-Codesprache. -
sparkVersionist die verwendete Spark-Version für die Datenflussausführung. -
applicationIdist die OCID der entsprechenden Datenflussanwendung für die Data Flow-Ausführung. -
tenantIdist die OCID des Mandanten, der die Ausführung weitergeleitet hat.
"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"
}
Data Flow-Metriken
Erfahren Sie mehr über die Spark-bezogenen Metriken, die im Metrik-Namespace oci_data_flow verfügbar sind.
Überblick über Metriken
Mit den Data Flow-Metriken können Sie die Anzahl der Aufgaben, die abgeschlossen wurden oder nicht erfolgreich waren, und die Datenmenge überwachen. Es handelt sich um kostenlose Servicekennzahlen, die unter Servicekennzahlen oder Metadaten-Explorer zur Verfügung stehen. Weitere Informationen finden Sie unter Metriken anzeigen.
Terminologie
Diese Begriffe helfen Ihnen zu verstehen, was mit Data Flow-Metriken verfügbar ist.
- Namespace:
- Ein Namespace ist ein Container für Data Flow-Metriken. Der Namespace kennzeichnet den Service, der die Metriken sendet. Der Namespace für Data Flow lautet
oci_dataflow.
- Metriken:
- Metriken stellen das grundlegende Konzept bei Telemetrie und Monitoring dar. Metriken definieren einen Zeitreihensatz von Datenpunkten. Jede Metrik wird eindeutig definiert durch:
- Namespace
- Metrikname
- Compartment-ID
- Set von mindestens einer Dimension
- Maßeinheit
- Dimensionen:
- Eine Dimension ist ein Schlüssel/Wert-Paar, das die mit der Metrik verknüpften Eigenschaften definiert. Data Flow hat fünf Dimensionen:
-
resourceId: Die OCID einer Data Flow-Instanz. -
resourceName: Der Name, den Sie der Ausführungsressource zugewiesen haben. Dieser ist nicht unbedingt eindeutig. -
applicationId: Die OCID einer Data Flow-Anwendungsinstanz. -
applicationName: Der Name, den Sie der Anwendungsressource zugewiesen haben. Dieser ist nicht unbedingt eindeutig oder endgültig. -
executorId: Ein Spark-Cluster besteht aus einem Treiber und einem oder mehreren Executors. Der Treiber hatexecutorId = driver, der Executor hatexecutorId = 1.2.3...n.
-
- Statistiken:
- Statistiken sind Metrikdatenaggregationen für bestimmte Zeiträume. Aggregationen werden mit Namespace, Metrikname, Dimensionen und der Maßeinheit des Datenpunkts innerhalb des angegebenen Zeitraums erstellt.
- Alarme:
- Alarme werden zur Automatisierung von Monitoring und Performance von Vorgängen verwendet. Ein Alarm überwacht Änderungen in einem bestimmten Zeitraum und führt entsprechend den für die Metrik definierten Regeln mindestens eine definierte Aktion aus.
Voraussetzungen
Um Ressourcen in Data Flow überwachen zu können, benötigen Sie den erforderlichen Zugriffstyp in einer von einem Administrator geschriebenen Policy.
Die Policy muss Ihnen Zugriff auf die Monitoring-Services und die überwachten Ressourcen erteilen. Die gilt unabhängig davon, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie versuchen, eine Aktion auszuführen, und eine Meldung erhalten, dass Sie weder über eine Berechtigung verfügen noch nicht autorisiert sind, fragen Sie den Administrator, welchen Zugriffstyp Sie erteilt haben und in welcher Abteilung Sie arbeiten möchten. Weitere Informationen über Benutzerautorisierungen für Monitoring finden Sie im Abschnitt "Authentifizierung und Autorisierung" für den zugehörigen Service: Monitoring oder Notifications.
Verfügbare Metriken
Im Folgenden werden die für Data Flow verfügbar sind. Die Control-Plane-Metriken werden zuerst aufgeführt, dann die Data-Plane-Metriken.
| Metrikname | Anzeige | Dimensionen | Statistik | Beschreibung |
|---|---|---|---|---|
RunTotalStartUpTime
|
Startzeit der Ausführung |
|
Durchschnitt | Die gesamte Startzeit für eine Ausführung enthält Zeiten für die Ressourcenzuweisung und den Start des Spark-Jobs sowie die Wartezeit in verschiedenen Queues innerhalb des Service. |
RunExecutionTime
|
Ausführungszeit |
|
Durchschnitt | Die erforderliche Zeit zum Beenden einer Ausführung vom Start bis zum Abschluss. |
RunTotalTime
|
Gesamte Laufzeit |
|
Durchschnitt | Die Summe aus Startzeit der Ausführung und Ausführungszeit. |
RunSucceeded
|
Ausführung erfolgreich |
|
Anzahl | Gibt an, ob der Lauf erfolgreich abgeschlossen wurde. |
RunFailed
|
Ausführung nicht erfolgreich |
|
Anzahl | Angabe, ob die Ausführung nicht erfolgreich war. |
| Metrikname | Anzeige | Dimensionen | Statistik | Beschreibung |
|---|---|---|---|---|
CpuUtilization
|
CPU-Auslastung |
|
Prozent | Die CPU-Auslastung durch den Container, der dem Treiber oder Executor zugewiesen ist, als Prozentsatz. |
DiskReadBytes
|
Datenträger-Lesevorgänge in Byte |
|
Sum | Die Anzahl der Byte, die von dem Container, der dem Treiber oder Executor zugewiesen ist, in einem bestimmten Zeitintervall von allen Block-Devices gelesen werden. |
DiskWriteBytes
|
Datenträger-Schreibvorgänge in Byte |
|
Sum | Die Anzahl der Byte, die von dem Container, der dem Treiber oder Executor zugewiesen ist, in einem bestimmten Zeitintervall von allen Block-Devices geschrieben werden. |
FileSystemUtilization
|
Dateisystemauslastung |
|
Prozent | Die Dateisystemnutzung durch den Container, der dem Treiber oder Executor zugewiesen ist, als Prozentsatz. |
GcCpuUtilization
|
GC-CPU-Auslastung |
|
Prozent | Die Speicherbelegung durch den Java Garbage Collector des Treibers oder Executors als Prozentsatz. |
MemoryUtilization
|
Speicherauslastung |
|
Prozent | Die Speichernutzung durch den Container, der dem Treiber oder Executor zugewiesen ist, als Prozentsatz. |
NetworkReceiveBytes
|
Netzwerk-Empfangsvorgänge in Byte |
|
Sum | Die Anzahl der Byte, die von der Netzwerkschnittstelle durch den Container, der dem Treiber oder Executor zugewiesen ist, in einem bestimmten Zeitintervall empfangen wurden. |
NetworkTransmitBytes
|
Netzwerk-Übertragungsvorgänge in Byte |
|
Sum | Die Anzahl der Byte, die von der Netzwerkschnittstelle durch den Container, der dem Treiber oder Executor zugewiesen ist, in einem bestimmten Zeitintervall übertragen wurden. |
Metriken anzeigen
Sie können Data Flow-Metriken auf unterschiedliche Weise anzeigen:
- Wählen Sie in der Konsole das Navigationsmenü, Observability and Management, und wählen Sie unter Monitoring die Option Servicemetriken aus. Informationen zur Verwendung dieser Metriken finden Sie unter Überblick über Monitoring.
- Wählen Sie in der Konsole das Navigationsmenü aus, und wählen Sie Beobachtbarkeit und Management aus. Wählen Sie unter Monitoring die Option Metrik-Explorer aus. Informationen zur Verwendung dieser Metriken finden Sie unter Überblick über Monitoring.
- Wählen Sie in der Konsole das Navigationsmenü aus, wählen Sie Data Flow aus, und wählen Sie Ausführungen aus. Wählen Sie unter Ressourcen die Option Metriken aus, um die für diese Ausführung spezifischen Metriken anzuzeigen. Legen Sie die Startzeit und die Endzeit entsprechend fest, oder wählen Sie in der Schnellauswahl einen Zeitraum aus. Für jedes Diagramm können Sie ein Intervall und die Optionen für das Anzeigen der einzelnen Metriken angeben.
- Wählen Sie in der Konsole das Navigationsmenü aus, wählen Sie Data Flow aus, und wählen Sie Anwendungen aus. Die für die Ausführungen dieser Anwendung spezifischen Metriken werden angezeigt. Legen Sie die Startzeit und die Endzeit entsprechend fest, oder wählen Sie in der Schnellauswahl einen Zeitraum aus. Für jedes Diagramm können Sie ein Intervall und eine Statistik sowie die Optionen für die Anzeige jeder Metrik angeben.