Wenn Sie SQL-Scripts und Notebooks planen, können Sie die Assets nutzen, die in der Workbench für die Datenexploration (Explore) erstellt wurden.
Wenn Sie ein SQL-Script oder ein Notebook planen, wird eine Dataplex-Aufgabe erstellt, die zu einer festgelegten Zeit einmal oder regelmäßig ausgeführt wird. Bei jeder Ausführung wird ein Job erstellt, in dem die Ausführungsmetadaten wie Start- und Endzeit, Ausführungsstatus, Protokolle und generierte Ausgaben erfasst werden.
Wenn eine Ausführung für ein geplantes SQL-Script oder ein Notebook ausgelöst wird, wird die aktuelle Version des Notebooks oder SQL-Scripts ausgeführt. Wenn Sie also ein Notebook oder SQL-Script planen und den Inhalt später aktualisieren, wird die Aktualisierung auch in den geplanten Ausführungen des Notebooks oder SQL-Scripts berücksichtigt.
Kosten
Geplante SQL-Scripts und geplante Notebooks lösen die Jobausführung mit Dataproc Serverless aus. Die Nutzung wird gemäß dem Dataproc-Preismodell abgerechnet und die Kosten werden unter „Dataproc“ statt unter „Dataplex“ angezeigt.
Hinweise
Lesen Sie die in den folgenden Dokumenten beschriebenen Voraussetzungen und führen Sie sie aus:
- Der Abschnitt Vorab im Hilfeartikel Explorative Datenanalyse-Workbench verwenden
Abschnitt Vorab im Hilfeartikel Benutzerdefinierte Spark- und SparkSQL-Aufgaben planen
Wenn in einem SQL-Script oder Notebook-Zeitplan die BigQuery API verwendet wird, müssen Sie dem Dienstkonto die Rolle „Nutzer der Dienstnutzung“ (roles/serviceusage.serviceUsageConsumer
) zuweisen.
Bekannte Einschränkungen
Wenn Sie ein Notebook über die Google Cloud Console planen, sind zusätzliche Python-Pakete, die in der ausgewählten Umgebung konfiguriert sind, in der Laufzeit nicht für das geplante Notebook verfügbar. Damit sie in der Laufzeit verfügbar sind, müssen Sie einen Notebook-Zeitplan erstellen, der auf ein Container-Image mit den erforderlichen zusätzlichen Paketen verweist. Weitere Informationen finden Sie unter Notebooks mit benutzerdefinierten Paketen planen.
Das Verweisen auf benutzerdefinierte Container-Images in der Google Cloud Console beim Planen von Notebooks wird nicht unterstützt. Verwenden Sie stattdessen die gcloud CLI.
Nach der Erstellung können Zeitpläne nicht mehr bearbeitet werden. Wenn Sie die Zeitplanparameter aktualisieren möchten, müssen Sie den Zeitplan mit neuen Parametern neu erstellen.
Sie können keine bestimmte Version eines SQL-Scripts oder -Notebooks für einen Zeitplan definieren. Wenn der Zeitplan ausgelöst wird, wird die aktuelle Version des SQL-Scripts oder -Notizbuchs verwendet.
Wenn Sie SQL-Scripts und ‑Notebooks über die Google Cloud Console planen, wird das Standardunternetzwerk verwendet. Verwenden Sie die gcloud CLI, um ein anderes Netzwerk oder ein Subnetzwerk anzugeben.
Lesen Sie außerdem den Hilfeartikel Bekannte Einschränkungen von Explore.
Zeitpläne für SQL-Scripts erstellen und verwalten
Laufzeitkonfiguration für geplante SQL-Scripts
Wenn ein SQL-Script geplant ist, wird es als Dataplex-Aufgabe ausgeführt. Wenn ein Zeitplan mit der Google Cloud Console erstellt wird, werden die entsprechenden Aufgabenlaufzeitparameter für geplante SQL-Scripts basierend auf der folgenden Zuordnung aus der Umgebung dieses SQL-Scripts übernommen:
Parameter für die Umgebungskonfiguration | Konfigurationsparameter für geplante SQL-Script-Aufgabe |
---|---|
Größe des primären Laufwerks | Container-Image / Eigenschaften: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl der Knoten | Anzahl der Batches / Executors |
Maximale Anzahl von Knoten | Anzahl der Batches / Maximale Anzahl der Executors |
Image-Version | Nicht übernommen |
JAR-Dateien | Container-Image / Java-JARs |
Python-Pakete | Nicht übernommen |
Zusätzliche Attribute | Container-Image / Eigenschaften |
SQL-Script planen
Console
Rufen Sie in der Google Cloud Console die Seite Dataplex Explore auf.
Wählen Sie ein SQL-Script aus, das Sie planen möchten. Sie können entweder ein einzelnes SQL-Script aus der Liste Spark SQL-Scripts auswählen oder ein SQL-Script im Spark SQL-Editor öffnen.
Klicken Sie im Menü Zeitplan auf Zeitplan erstellen.
Geben Sie im Feld Name des Zeitplans einen Namen für die geplante Instanz ein.
Wählen Sie im Bereich Zeitplanoptionen aus, ob das SQL-Script nur einmal oder regelmäßig ausgeführt werden soll:
Wenn Sie Einmal ausführen auswählen, geben Sie mithilfe der Optionen im Menü Start an, ob das SQL-Script sofort oder zu einer geplanten Zeit ausgeführt werden soll. Geben Sie für eine geplante Ausführung das Startdatum und die Laufzeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob das SQL-Script täglich, wöchentlich, monatlich oder nach einem benutzerdefinierten Zeitplan ausgeführt werden soll, der mit einem CRON-Ausdruck angegeben wird. Geben Sie außerdem das Startdatum und die Ausführungszeit für die erste geplante Ausführung an.
Führen Sie im Bereich Ziel für Ergebnisse die folgenden Schritte aus:
Klicken Sie im Feld Name des Ausgabeordners auf Durchsuchen und wählen Sie einen Ordner in einem Cloud Storage-Bucket aus, in dem die Script-Ausgaben gespeichert werden sollen.
Klicken Sie auf Auswählen.
Wählen Sie das Format der Skriptausgabe aus. Die unterstützten Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Bereich Anmeldedaten für geplantes Script im Menü Nutzerdienstkonto ein Dienstkonto aus.
Klicken Sie auf Planen.
gcloud
Informationen zum Planen von SQL-Scripts mit der gcloud CLI finden Sie unter SparkSQL-Aufgabe planen.
REST
Zeitpläne für SQL-Scripts verwalten
Console
Liste aller SQL-Script-Zeitpläne öffnen
Rufen Sie in der Google Cloud Console die Seite Dataplex-Prozess auf.
Klicken Sie auf den Tab Geplante Abfragen, um eine Liste der Zeitpläne für SQL-Scripts aufzurufen.
Liste aller Zeitpläne für ein bestimmtes SQL-Script öffnen
Rufen Sie in der Google Cloud Console die Seite Dataplex Explore auf.
Wählen Sie das erforderliche SQL-Script aus.
Klicken Sie im Menü Zeitplan auf Zeitpläne ansehen.
Auf dem Tab Geplante Abfragen wird eine Liste der SQL-Script-Zeitpläne geöffnet, die nach dem ausgewählten SQL-Script gefiltert ist.
Details zu einem SQL-Script-Zeitplan ansehen
Rufen Sie den Tab Geplante Abfragen auf und wählen Sie den erforderlichen Zeitplan für das SQL-Script aus.
Klicken Sie auf den Tab Details, um die Details des SQL-Scripts und eine Vorschau des geplanten SQL-Scripts aufzurufen.
SQL-Script-Zeitplan aktivieren und deaktivieren
Rufen Sie den Tab Geplante Abfragen auf und wählen Sie den erforderlichen Zeitplan für das SQL-Script aus.
Klicken Sie auf Deaktivieren, um einen aktiven Zeitplan für ein SQL-Script zu deaktivieren.
Klicken Sie auf Aktivieren, um einen inaktiven Zeitplan für ein SQL-Script zu aktivieren.
Vorhandenen Zeitplan für SQL-Script löschen
Rufen Sie den Tab Geplante Abfragen auf und wählen Sie den erforderlichen Zeitplan für das SQL-Script aus.
Klicken Sie auf Löschen, um einen vorhandenen Zeitplan für SQL-Scripts endgültig zu löschen.
Protokolle ansehen und einen SQL-Script-Zeitplan verwalten
Rufen Sie den Tab Geplante Abfragen auf und wählen Sie den erforderlichen Zeitplan für das SQL-Script aus.
Klicken Sie auf den Tab Jobs und dann auf die Job-ID des geplanten SQL-Scripts, dessen Ausführung Sie sich ansehen möchten.
Klicken Sie auf Logs ansehen, um die Logs für das ausgewählte geplante SQL-Script aufzurufen, das in Cloud Logging ausgeführt wurde.
Klicken Sie auf die Dataproc-Batch-ID, um die Dataproc-Seite in der Google Cloud Console zu öffnen. Rufen Sie die Details der entsprechenden Dataproc Serverless-Sitzung auf.
Klicken Sie neben dem Label Ausgabe auf In Cloud Storage verwalten, um die Cloud Storage-Seite in der Google Cloud Console zu öffnen. Rufen Sie die Details des entsprechenden Cloud Storage-Buckets mit der Ausgabe der SQL-Scriptausführung auf.
gcloud
Informationen zum Überwachen geplanter SQL-Scripts mit der gcloud CLI finden Sie auf dem Tab gcloud unter Aufgabe überwachen.
Informationen zum Verwalten geplanter SQL-Scripts mit der gcloud CLI finden Sie auf dem Tab gcloud unter Zeitplan verwalten.
REST
Informationen zum Überwachen geplanter SQL-Scripts mit REST finden Sie auf dem Tab REST unter Aufgabe überwachen.
Informationen zum Verwalten geplanter SQL-Scripts mit REST finden Sie auf dem Tab REST unter Zeitplan verwalten.
Ausgabe eines geplanten SQL-Scripts
Die Ausgabe jeder Ausführung eines geplanten SQL-Scripts wird an dem von Ihnen für den Cloud Storage-Ordner angegebenen Speicherort in der folgenden Struktur gespeichert:
CLOUD_STORAGE_FOLDER_LOCATION/projects/PROJECT_ID/locations/LOCATION_ID/lakes/LAKE_ID/tasks/TASK_ID/JOB_ID/QUERY_NUMBER
Zeitpläne für Notizenbücher erstellen und verwalten
Laufzeitkonfiguration für geplante Notebooks
Wenn ein Notebook geplant ist, wird es als Dataplex-Aufgabe ausgeführt. Wenn ein Zeitplan mit der Google Cloud Console erstellt wird, werden die entsprechenden Aufgabenlaufzeitparameter für geplante Notebooks basierend auf der folgenden Zuordnung aus der Umgebung dieses Notebooks übernommen:
Parameter für die Umgebungskonfiguration | Konfigurationsparameter für geplante Notebookaufgaben |
---|---|
Größe des primären Laufwerks | Container-Image / Eigenschaften: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl der Knoten | Anzahl der Batches / Executors |
Maximale Anzahl von Knoten | Anzahl der Batches / Maximale Anzahl der Executors |
Image-Version | Nicht übernommen |
JAR-Dateien | Container-Image / Java-JARs |
Python-Pakete | Nicht übernommen |
Zusätzliche Attribute | Container-Image / Eigenschaften |
Notebooks mit benutzerdefinierten Paketen planen
Bei interaktiven Notebooks können Sie beim Konfigurieren einer Umgebung in Dataplex benutzerdefinierte Python-Pakete angeben, die in Nutzersitzungen installiert werden sollen, die für die Umgebung bereitgestellt werden. Wenn ein solches Notebook geplant wird, sind die in der Umgebung konfigurierten benutzerdefinierten Python-Pakete zur Laufzeit nicht für das geplante Notebook verfügbar. Die Standardlaufzeitumgebung enthält nur die Komponenten der serverlosen Dataproc-Spark-Laufzeitversion 1.0. Damit benutzerdefinierte Python-Pakete in der Laufzeit für geplante Notebooks verfügbar sind, müssen Sie ein benutzerdefiniertes Container-Image mit den erforderlichen benutzerdefinierten Paketen bereitstellen.
Die Angabe eines benutzerdefinierten Container-Images beim Planen eines Notebooks über die Google Cloud Console wird nicht unterstützt. Verwenden Sie stattdessen die gcloud CLI. Weitere Informationen finden Sie unter Notebook planen.
Wenn Sie ein Notebook mit einer Umgebung planen, in der benutzerdefinierte Pakete konfiguriert sind, erhalten Sie die folgende Warnung:
Selected environmenthas additional Python packages configured. These packages will not be available in the default runtime for the scheduled notebook when scheduling in the Console. To make the required additional Python packages available in the runtime, please create Notebook Schedule using gcloud command instead, referencing a container image with required additional packages.
Benutzerdefiniertes Container-Image für geplante Notebooks erstellen
Informationen zum Erstellen eines Container-Images für geplante Notebooks und zum Installieren der erforderlichen benutzerdefinierten Python-Pakete im Dockerfile des Container-Images finden Sie unter Benutzerdefiniertes Container-Image für Dataproc Serverless for Spark erstellen.
Achten Sie darauf, dass Sie die folgenden Conda-Pakete im Container-Image installiert haben:
gcsfs
google-cloud-bigquery
google-cloud-storage
google-auth
ipykernel
papermill
Wenn Sie die gcloud
-Komponenten in einem Container-Image installieren möchten, öffnen Sie das Dockerfile des Container-Images und führen Sie die folgenden Schritte aus:
Fügen Sie das
google-cloud-sdk
-Paket der Liste der zu installierenden Conda-Pakete hinzu.Fügen Sie die folgenden Zeilen nach dem Installationsschritt für die Conda-Pakete hinzu:
# (Optional) Installing gcloud components RUN gcloud components install alpha beta bq
Notebook planen
Console
Rufen Sie in der Google Cloud Console die Seite Dataplex Explore auf.
Wählen Sie ein Notebook aus, das Sie planen möchten. Sie können entweder ein einzelnes Notebook in der Ansicht Notebooks auswählen oder ein Notebook auf der Detailseite des Notebooks öffnen.
Klicken Sie im Menü Zeitplan auf Zeitplan erstellen.
Geben Sie im Feld Name des Zeitplans einen Namen für die geplante Instanz ein.
Wählen Sie im Abschnitt Zeitplanoptionen aus, ob das Notebook nur einmal oder regelmäßig ausgeführt werden soll:
Wenn Sie Einmal ausführen auswählen, geben Sie mithilfe der Optionen im Menü Start an, ob das Notebook sofort oder zu einer bestimmten Zeit ausgeführt werden soll. Geben Sie für eine geplante Ausführung das Startdatum und die Laufzeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob das Notebook täglich, wöchentlich, monatlich oder nach einem benutzerdefinierten Zeitplan ausgeführt werden soll, der mit einem Cron-Ausdruck angegeben wird. Geben Sie außerdem das Startdatum und die Ausführungszeit für die erste geplante Ausführung an.
Wählen Sie im Bereich Ziel für Ergebnisse einen Speicherort für die Notebook-Ausgabe aus:
Klicken Sie im Feld Name des Ausgabeordners auf Durchsuchen und wählen Sie einen Ordner in einem Cloud Storage-Bucket aus, in dem die Notebook-Ausgabe gespeichert werden soll.
Klicken Sie auf Auswählen.
Wählen Sie das Format der Skriptausgabe aus. Die unterstützten Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Abschnitt Anmeldedaten für geplantes Notebook im Menü Nutzerdienstkonto ein Dienstkonto aus.
Klicken Sie im Bereich Parameter auf Neu hinzufügen, um Ausführungsparameter für das Notebook als Schlüssel/Wert-Paare hinzuzufügen.
Klicken Sie auf Planen.
gcloud
Führen Sie den Befehl der gcloud CLI aus, der unter Spark-Aufgabe (Java oder Python) planen beschrieben ist, mit den folgenden zusätzlichen Parametern aus:
Parameter | Beschreibung |
---|---|
--notebook
|
Pfad zu den Notebook-Inhalten für das Eingabe-Notebook. Auf die Ausführungsargumente kann als Umgebungsvariable zugegriffen werden. Beispiel: TASK_key=value . Hinweis : In der gcloud -Referenzdokumentation zum Planen von Notebooks als Aufgaben wird erwähnt, dass der Wert für den Parameter --notebook der Cloud Storage-URI der Notebookdatei sein kann. Das ist nicht möglich. Sie müssen für den Parameter --notebook nur den Pfad zum Notebook-Inhalt angeben. |
--notebook-archive-uris
|
Cloud Storage-URIs von Archiven, die in das Arbeitsverzeichnis jedes Executors extrahiert werden sollen. Unterstützte Dateitypen sind JAR , tar , tar.gz , tgz und zip . |
--notebook-file-uris |
Cloud Storage-URIs von Dateien, die im Arbeitsverzeichnis jedes Executors abgelegt werden sollen. |
Für eine Aufgabe erforderliche Computing-Ressourcen bei Verwendung von Dataproc Serverless | |
--notebook-batch-executors-count |
Anzahl der Jobausführer. |
--notebook-batch-max-executors-count
|
Maximale Anzahl konfigurierbarer Executors. Wenn notebook-batch-max-executors-count größer als notebook-batch-executors-count ist, ist das Autoscaling aktiviert. |
Laufzeitkonfiguration des Container-Images | |
--notebook-container-image |
Optional: Benutzerdefiniertes Container-Image für den Job. |
--notebook-container-image-java-jars
|
Eine Liste der Java-JARs, die dem Klassenpfad hinzugefügt werden sollen. Zu den gültigen Eingaben gehören Cloud Storage-URIs zu JAR-Binärdateien. Beispiel: gs ://BUCKET_NAME/my/path/to/file.jar . |
--notebook-container-image-properties
|
Die Eigenschaften, die in den Daemon-Konfigurationsdateien festgelegt werden sollen. Attributschlüssel werden im Format prefix :property angegeben. Beispiel:: core :hadoop.tmp.dir . Weitere Informationen finden Sie unter Clustereigenschaften. |
Cloud-VPC-Netzwerk, das für die Ausführung der Infrastruktur verwendet wird | |
--notebook-vpc-network-tags |
Liste der Netzwerk-Tags, die auf den Job angewendet werden sollen. |
Die Cloud-VPC-Netzwerk-ID. Sie können höchstens eine der folgenden Optionen angeben. | |
--notebook-vpc-network-name
|
Das Cloud-VPC-Netzwerk, in dem der Job ausgeführt wird. Standardmäßig wird das Cloud-VPC-Netzwerk mit dem Namen „Standard“ im Projekt verwendet. |
--notebook-vpc-sub-network-name |
Das Cloud VPC-Subnetz, in dem der Job ausgeführt wird. |
Speicherort für Notebook-Ausgaben | |
--execution-args
|
Für Notebook-Aufgaben ist das folgende Argument erforderlich und muss als TASK_ARGS übergeben werden. |
--execution-args=^::^TASK_ARGS="--output_location,CLOUD_STORAGE_URI_OF_OUTPUT_DIRECTORY" |
Im folgenden Beispiel wird der Befehl gcloud
zum Planen von Notizen verwendet:
gcloud dataplex tasks create sample-task --project=sample-project --location=us-central1 --lake=my-lake --trigger-type=ON_DEMAND --notebook="projects/my-project-id/locations/us-central1/lakes/my-lake/content/my-notebook.ipynb" --execution-service-account=associated-service-account@sample-project.iam.gserviceaccount.com --execution-args=^::^TASK_ARGS="--output_location,gs://my-bucket/Demo" --notebook-batch-executors-count=2 --notebook-batch-max-executors-count=5 --notebook-container-image=container-image --notebook-container-image-java-jars=java-jar1,java-jar-2
REST
Notebook-Zeitpläne verwalten
Console
Liste aller Notebookzeitpläne öffnen
Rufen Sie in der Google Cloud Console die Seite Dataplex-Prozess auf.
Klicken Sie auf den Tab Geplante Notebooks, um eine Liste der Zeitpläne für SQL-Scripts aufzurufen.
Liste aller Zeitpläne für ein bestimmtes Notizbuch öffnen
Rufen Sie in der Google Cloud Console die Seite Dataplex Explore auf.
Wählen Sie das gewünschte Notebook aus.
Klicken Sie im Menü Zeitplan auf Zeitpläne ansehen.
Der Tab Geplante Abfragen wird mit einer Liste von Notebookplänen geöffnet, die nach dem ausgewählten Notebook gefiltert ist.
Details eines Notebook-Zeitplans ansehen
Rufen Sie den Tab Geplante Notebooks auf und wählen Sie den gewünschten Notebook-Zeitplan aus.
Klicken Sie auf Details, um Details zum Notizbuchzeitplan und eine Vorschau der geplanten Notizbuchinhalte aufzurufen.
Zeitplan für Notizbücher aktivieren und deaktivieren
Rufen Sie den Tab Geplantes Notebook auf und wählen Sie den gewünschten Zeitplan für das Notebook aus.
Klicken Sie auf Deaktivieren, um einen aktiven Notebook-Zeitplan zu deaktivieren.
Klicken Sie auf Aktivieren, um einen inaktiven Zeitplan für das Notizbuch zu aktivieren.
Vorhandenen Notebookzeitplan löschen
Rufen Sie den Tab Geplantes Notebook auf und wählen Sie den gewünschten Zeitplan für das Notebook aus.
Klicken Sie auf Löschen, um einen vorhandenen Notizbuchzeitplan endgültig zu löschen.
Protokolle ansehen und einen Notebook-Zeitplan verwalten
Rufen Sie den Tab Geplantes Notebook auf und wählen Sie den gewünschten Zeitplan für das Notebook aus.
Klicken Sie auf den Tab Jobs und dann auf die Job-ID der geplanten Notebookausführung, die Sie sich ansehen möchten.
Sehen Sie sich im Bereich Vorschauausgabe die Ausgabe des Notebooks an.
Klicken Sie auf Logs ansehen, um die Logs für die ausgewählte geplante Notebookausführung in Cloud Logging aufzurufen.
Klicken Sie auf die Dataproc-Batch-ID, um die Dataproc-Seite in der Google Cloud Console zu öffnen. Rufen Sie die Details der entsprechenden Dataproc Serverless-Sitzung auf.
Klicken Sie neben dem Label Ausgabe auf In Cloud Storage verwalten, um die Cloud Storage-Seite in der Google Cloud Console zu öffnen. Rufen Sie die Details des entsprechenden Cloud Storage-Buckets auf, der die Ausgabe der Notebookausführung enthält.
gcloud
Informationen zum Überwachen geplanter Notebooks mit der gcloud CLI finden Sie auf dem Tab gcloud unter Aufgabe beobachten.
Informationen zum Verwalten geplanter Notebooks mit der gcloud CLI finden Sie auf dem Tab gcloud unter Zeitplan verwalten.
REST
Informationen zum Überwachen geplanter Notebooks mit REST finden Sie auf dem Tab REST unter Aufgabe überwachen.
Informationen zum Verwalten geplanter Notebooks mit REST finden Sie auf dem Tab REST unter Zeitplan verwalten.
Ausgabe eines geplanten Notebooks
Die Ausgabe jeder Ausführung eines geplanten Notebooks wird an dem von Ihnen für den Cloud Storage-Ordner angegebenen Speicherort in der folgenden Struktur gespeichert:
CLOUD_STORAGE_FOLDER_LOCATION/projects/PROJECT_ID/locations/LOCATION_ID/lakes/LAKE_ID/tasks/TASK_ID/JOB_ID/QUERY_NUMBER
Nächste Schritte
- Benutzerdefinierte Spark- und SparkSQL-Aufgaben planen
- Richten Sie Benachrichtigungen für Dataplex-Aufgaben ein.