Durch das Planen von SQL-Skripts und Notebooks können Sie die Assets operationalisieren, die in der Workbench zur Datenexploration (Explore) erstellt wurden.
Durch die Planung eines SQL-Skripts oder Notebooks wird eine Dataplex-Aufgabe erstellt, die zu einer vorab festgelegten Zeit, einmal oder regelmäßig ausgeführt wird. Bei jeder Ausführung wird ein Job erstellt, der die Metadaten der Ausführung erfasst, z. B. Start- und Endzeit der Ausführung, den Ausführungsstatus, Logs und generierte Ausgaben.
Wenn eine Ausführung für ein geplantes SQL-Skript oder ein Notebook ausgelöst wird, wird die aktuelle Version des Notebooks oder SQL-Skripts ausgeführt. Wenn Sie also ein Notebook oder ein SQL-Skript planen und später seinen Inhalt aktualisieren, spiegelt sich die Aktualisierung auch in den geplanten Ausführungen des Notebooks oder SQL-Skripts wider.
Kosten
Geplante SQL-Skripts und geplante Notebooks lösen die Jobausführung mit Dataproc Serverless aus. Die Nutzungen werden nach dem Dataproc-Preismodell berechnet und unter Dataproc und nicht unter Dataplex aufgeführt.
Hinweise
Prüfen und erfüllen Sie die Voraussetzungen, die in den folgenden Dokumenten beschrieben sind:
- Der Abschnitt Vorbereitung des Artikels Workbench zur Datenexploration verwenden
Der Abschnitt Vorbereitung des Artikels Benutzerdefinierte Spark- und SparkSQL-Aufgaben planen
Wenn ein SQL-Skript oder ein Notebook-Zeitplan die BigQuery API verwendet, müssen Sie dem Dienstkonto die Rolle „Service Usage-Nutzer“ (roles/serviceusage.serviceUsageConsumer
) gewähren.
Bekannte Einschränkungen
Beim Planen eines Notebooks mit der Google Cloud Console sind zusätzliche Python-Pakete, die in der ausgewählten Umgebung konfiguriert sind, zur Laufzeit für das geplante Notebook nicht verfügbar. Damit sie zur 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.
Die Verwendung der Google Cloud Console zum Verweisen auf benutzerdefinierte Container-Images beim Planen von Notebooks wird nicht unterstützt. Verwenden Sie stattdessen die gcloud CLI.
Sie können einen Zeitplan nach dem Erstellen nicht mehr bearbeiten. Wenn Sie die Zeitplanparameter aktualisieren möchten, müssen Sie den Zeitplan mit den neuen Parametern neu erstellen.
Sie können keine bestimmte Version eines SQL-Skripts oder Notebooks zur Verwendung in einem Zeitplan definieren. Wenn der Zeitplan ausgelöst wird, wird die aktuelle Version des SQL-Skripts oder Notebooks verwendet.
Beim Planen von SQL-Skripts und Notebooks mit der Google Cloud Console wird das Standard-Subnetzwerk verwendet. Verwenden Sie die gcloud CLI, um ein anderes Netzwerk oder Subnetzwerk anzugeben.
Lesen Sie außerdem die Informationen zu bekannten Einschränkungen beim explorativen Analysetool.
Zeitpläne für SQL-Skripts erstellen und verwalten
Laufzeitkonfiguration für geplante SQL-Skripts
Wenn ein SQL-Script geplant wird, 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-Skripts aus der Umgebung dieses SQL-Skripts basierend auf der folgenden Zuordnung übernommen:
Parameter für Umgebungskonfiguration | Konfigurationsparameter für geplante SQL-Skriptaufgabe |
---|---|
Größe des primären Laufwerks | Container-Image / Properties: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl von Knoten | Batch-/Executors-Anzahl |
Höchstanzahl von Knoten | Batch-/Maximale Anzahl der Executors |
Image-Version | Nicht übernommen |
JAR-Dateien | Container-Image / Java-JARS |
Python-Pakete | Nicht übernommen |
Zusätzliche Attribute | Container-Image/-Properties |
SQL-Script planen
Console
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie ein SQL-Skript aus, das Sie planen möchten. Wählen Sie dazu ein einzelnes SQL-Skript aus der Liste Spark SQL-Skripts aus oder öffnen Sie ein SQL-Skript im Spark SQL-Editor.
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 SQL-Skript
nur einmal oder regelmäßig ausgeführt werden soll:Wenn Sie Einmal ausführen auswählen, geben Sie mithilfe der Optionen im Startmenü an, ob das SQL-Skript sofort oder zu einem geplanten Zeitpunkt ausgeführt werden soll. Geben Sie für eine geplante Ausführung das Startdatum und die Ausführungszeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob Sie das SQL-Skript täglich, wöchentlich, monatlich oder nach einem benutzerdefinierten Zeitplan ausführen möchten, der mit einem Cron-Ausdruck angegeben wird. Geben Sie außerdem das Startdatum und die Laufzeit 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 Skriptausgaben gespeichert werden sollen.
Klicken Sie auf Auswählen.
Wählen Sie das Script-Ausgabeformat aus. Die unterstützten Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Bereich Anmeldedaten für das geplante Skript ein Dienstkonto aus dem Menü Nutzerkonto aus.
Klicken Sie auf Schedule (Planen).
gcloud
Informationen zum Planen von SQL-Skripts mit der gcloud CLI finden Sie unter SparkSQL-Aufgabe planen.
REST
Erstellen Sie eine Aufgabe mit dem API Explorer.
Zeitpläne für SQL-Scripts verwalten
Console
Liste aller SQL-Skriptzeitpläne öffnen
Rufen Sie in der Google Cloud Console die Dataplex-Seite Prozess auf.
Klicken Sie auf den Tab Geplante Abfragen, um die Liste der SQL-Skriptzeitpläne aufzurufen.
Liste aller Zeitpläne für ein bestimmtes SQL-Script öffnen
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie das erforderliche SQL-Script aus.
Klicken Sie im Menü Zeitplan auf Zeitpläne ansehen.
Der Tab Geplante Abfragen wird mit einer Liste von SQL-Skriptzeitplänen geöffnet, die nach dem ausgewählten SQL-Skript gefiltert sind.
Details eines SQL-Skriptzeitplans ansehen
Wechseln Sie zum Tab Geplante Abfragen und wählen Sie den erforderlichen SQL-Skriptzeitplan aus.
Klicken Sie auf den Tab Details, um die Details des Zeitplans des SQL-Skripts und eine Vorschau des Inhalts des geplanten SQL-Skripts anzusehen.
SQL-Skriptzeitplan aktivieren und deaktivieren
Wechseln Sie zum Tab Geplante Abfragen und wählen Sie den erforderlichen SQL-Skriptzeitplan aus.
Klicken Sie auf Deaktivieren, um einen aktiven SQL-Skriptzeitplan zu deaktivieren.
Klicken Sie auf Aktivieren, um einen inaktiven SQL-Skriptzeitplan zu aktivieren.
Vorhandenen SQL-Skriptzeitplan löschen
Wechseln Sie zum Tab Geplante Abfragen und wählen Sie den erforderlichen SQL-Skriptzeitplan aus.
Klicken Sie auf Löschen, um einen vorhandenen SQL-Skriptzeitplan endgültig zu löschen.
Logs ansehen und SQL-Skriptzeitplan verwalten
Wechseln Sie zum Tab Geplante Abfragen und wählen Sie den erforderlichen SQL-Skriptzeitplan aus.
Klicken Sie auf den Tab Jobs und dann auf die Job-ID der geplanten SQL-Skriptausführung, die Sie ansehen möchten.
Klicken Sie auf Logs ansehen, um die Logs für das ausgewählte geplante SQL-Skript aufzurufen, das in Cloud Logging ausgeführt wird.
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 Seite „Cloud Storage“ in der Google Cloud Console zu öffnen. Rufen Sie die Details des entsprechenden Cloud Storage-Buckets auf, der die Ausgabe der SQL-Skriptausführung enthält.
gcloud
Informationen zum Überwachen geplanter SQL-Skripts mit der gcloud CLI finden Sie unter Tasks überwachen auf dem Tab gcloud.
Informationen zum Verwalten geplanter SQL-Skripts mit der gcloud CLI finden Sie unter Zeitplan verwalten auf dem Tab gcloud.
REST
Informationen zum Überwachen geplanter SQL-Skripts mit REST finden Sie im Artikel Tasks überwachen auf dem Tab REST.
Informationen zum Verwalten geplanter SQL-Skripts mit REST finden Sie unter Zeitplan verwalten auf dem Tab REST.
Ausgabe eines geplanten SQL-Skripts
Die Ausgaben aus jeder Ausführung eines geplanten SQL-Skripts werden an dem von Ihnen angegebenen Speicherort für den Cloud Storage-Ordner 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 Notebooks 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 anhand der folgenden Zuordnung aus der Umgebung dieses Notebooks übernommen:
Parameter für Umgebungskonfiguration | Konfigurationsparameter für geplante Notebook-Aufgabe |
---|---|
Größe des primären Laufwerks | Container-Image / Properties: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl von Knoten | Batch-/Executors-Anzahl |
Höchstanzahl von Knoten | Batch-/Maximale Anzahl der Executors |
Image-Version | Nicht übernommen |
JAR-Dateien | Container-Image / Java-JARS |
Python-Pakete | Nicht übernommen |
Zusätzliche Attribute | Container-Image/-Properties |
Notebooks mit benutzerdefinierten Paketen planen
Für interaktive Notebooks können Sie beim Konfigurieren einer Umgebung mit Dataplex benutzerdefinierte Python-Pakete angeben, die in Nutzersitzungen für die Umgebung installiert werden sollen. Wenn ein solches Notebook geplant ist, sind die in seiner Umgebung konfigurierten benutzerdefinierten Python-Pakete zur Laufzeit für das geplante Notebook nicht verfügbar und die Standardlaufzeitumgebung enthält nur die Komponenten der Dataproc Serverless Spark-Laufzeitversion 1.0. Damit benutzerdefinierte Python-Pakete zur Laufzeit für geplante Notebooks verfügbar sind, müssen Sie ein benutzerdefiniertes Container-Image mit den erforderlichen benutzerdefinierten Paketen bereitstellen.
Das Angeben 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, wird die folgende Warnung angezeigt:
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.
Prüfen Sie, ob Sie die folgenden Conda-Pakete im Container-Image installiert haben:
gcsfs
google-cloud-bigquery
google-cloud-storage
google-auth
ipykernel
papermill
Öffnen Sie das Container-Image-Dockerfile und führen Sie die folgenden Schritte aus, um die gcloud
-Komponenten in einem Container-Image zu installieren:
Fügen Sie das Paket
google-cloud-sdk
der Liste der zu installierenden Conda-Pakete hinzu.Fügen Sie nach dem Installationsschritt der Conda-Pakete die folgenden Zeilen hinzu:
# (Optional) Installing gcloud components RUN gcloud components install alpha beta bq gsutil
Notebook planen
Console
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie ein Notebook aus, das Sie planen möchten, indem Sie 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 Startmenü an, ob das Notebook sofort oder zu einem geplanten Zeitpunkt ausgeführt werden soll. Geben Sie für eine geplante Ausführung das Startdatum und die Ausführungszeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob Sie das Notebook täglich, wöchentlich, monatlich oder nach einem benutzerdefinierten Zeitplan ausführen möchten, der mit dem Cron-Ausdruck angegeben wird. Geben Sie außerdem das Startdatum und die Laufzeit für die erste geplante Ausführung an.
Wählen Sie im Abschnitt Ziel für Ergebnisse einen Speicherort aus, an dem die Notebook-Ausgabe gespeichert werden soll:
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 Script-Ausgabeformat aus. Die unterstützten Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Bereich Geplante Notebook-Anmeldedaten ein Dienstkonto aus dem Menü Nutzerkonto aus.
Fügen Sie im Abschnitt Parameter Ausführungsparameter für das Notebook als Schlüssel/Wert-Paare hinzu. Klicken Sie dazu auf Neu hinzufügen.
Klicken Sie auf Schedule (Planen).
gcloud
Führen Sie den gcloud CLI-Befehl aus, der unter Spark (Java oder Python)-Aufgabe planen beschrieben ist, mit den folgenden zusätzlichen Parametern:
Parameter | Beschreibung |
---|---|
--notebook
|
Pfad zu einem Notebookinhalt für das Eingabe-Notebook. Die Ausführungsargumente sind als Umgebungsvariablen zugänglich. 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 Notebook-Datei sein kann. Dies wird nicht unterstützt. Sie müssen den Pfad zu Notebook-Inhalt nur für den Parameter --notebook angeben. |
--notebook-archive-uris
|
Cloud Storage-URIs der Archive, die in das Arbeitsverzeichnis jedes Executors extrahiert werden sollen. Unterstützte Dateitypen sind JAR , tar , tar.gz , tgz und zip . |
--notebook-file-uris |
Google Cloud Storage-URIs von Dateien, die im Arbeitsverzeichnis jedes Executors platziert werden sollen. |
Bei Verwendung von Dataproc Serverless für eine Aufgabe erforderliche Rechenressourcen | |
--notebook-batch-executors-count |
Anzahl der Job-Executors. |
--notebook-batch-max-executors-count
|
Maximal konfigurierbare Executors. Wenn notebook-batch-max-executors-count größer als notebook-batch-executors-count ist, wird 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 Attribute, die für Daemon-Konfigurationsdateien festgelegt werden sollen. Property-Schlüssel werden im Format prefix :property angegeben, z. B. : core :hadoop.tmp.dir . Weitere Informationen finden Sie unter Clusterattribute. |
Cloud-VPC-Netzwerk, das zum Ausführen 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 „Default“ im Projekt verwendet. |
--notebook-vpc-sub-network-name |
Das Cloud VPC-Subnetzwerk, in dem der Job ausgeführt wird. |
Speicherort für Notebook-Ausgaben | |
--execution-args
|
Für Notebook-Aufgaben ist das folgende Argument obligatorisch und muss als TASK_ARGS übergeben werden. |
--execution-args=^::^TASK_ARGS="--output_location,CLOUD_STORAGE_URI_OF_OUTPUT_DIRECTORY" |
Das folgende Beispiel zeigt den Befehl gcloud
, der zum Planen von Notebooks verwendet wird:
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
Erstellen Sie eine Aufgabe mit dem API Explorer.
Notebook-Zeitpläne verwalten
Console
Liste aller Notebook-Zeitpläne öffnen
Rufen Sie in der Google Cloud Console die Dataplex-Seite Prozess auf.
Klicken Sie auf den Tab Geplante Notebooks, um die Liste der SQL-Skriptzeitpläne aufzurufen.
Liste aller Zeitpläne für ein bestimmtes Notebook öffnen
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie das erforderliche Notebook aus.
Klicken Sie im Menü Zeitplan auf Zeitpläne ansehen.
Der Tab Geplante Abfragen wird mit einer Liste von Notebook-Zeitplänen geöffnet, die nach dem ausgewählten Notebook gefiltert sind.
Details eines Notebook-Zeitplans ansehen
Wechseln Sie zum Tab Geplante Notebooks und wählen Sie den erforderlichen Notebook-Zeitplan aus.
Klicken Sie auf die Details-Details des Notebook-Zeitplans und eine Vorschau des geplanten Notebook-Inhalts.
Notebook-Zeitplan aktivieren und deaktivieren
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebook-Zeitplan aus.
Klicken Sie auf Deaktivieren, um einen aktiven Notebook-Zeitplan zu deaktivieren.
Klicken Sie auf Aktivieren, um einen Zeitplan für einen inaktiven Notebook-Zeitplan zu aktivieren.
Vorhandenen Notebook-Zeitplan löschen
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebook-Zeitplan aus.
Klicken Sie auf Löschen, um einen vorhandenen Notebook-Zeitplan endgültig zu löschen.
Logs ansehen und Notebook-Zeitplan verwalten
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebook-Zeitplan aus.
Klicken Sie auf den Tab Jobs und dann auf die Job-ID der geplanten Notebook-Ausführung, die Sie ansehen möchten.
Prüfen Sie im Abschnitt Vorschau der Ausgabe die Ausgabe der Notebook-Ausführung.
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 Seite „Cloud Storage“ in der Google Cloud Console zu öffnen. Rufen Sie die Details des entsprechenden Cloud Storage-Buckets auf, der die Ausgabe der Notebook-Ausführung enthält.
gcloud
Informationen zum Überwachen geplanter Notebooks mit der gcloud CLI finden Sie auf dem Tab gcloud unter Tasks überwachen.
Informationen zum Verwalten geplanter Notebooks mit der gcloud CLI finden Sie unter Zeitplan verwalten auf dem Tab gcloud.
REST
Informationen zum Überwachen geplanter Notebooks mit REST finden Sie auf dem Tab REST im Artikel Tasks überwachen.
Informationen zum Verwalten geplanter Notebooks mit REST finden Sie auf dem Tab REST unter Zeitplan verwalten.
Ausgabe eines geplanten Notebooks
Die Ausgabe aus jeder Ausführung eines geplanten Notebooks wird an dem von Ihnen angegebenen Speicherort für den Cloud Storage-Ordner 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
- Benachrichtigungen und Benachrichtigungen für Dataplex-Aufgaben einrichten