Durch die Planung von SQL-Skripts und Notebooks können Sie die Assets operationalisieren, die in der Workbench für die Datenerkundung (Erkunden) erstellt wurden.
Beim Planen eines SQL-Skripts oder Notebooks wird eine Dataplex-Aufgabe erstellt, die zu einem bestimmten Zeitpunkt, einmal oder regelmäßig ausgeführt wird. Bei jeder Ausführung wird ein Job erstellt die die Ausführungsmetadaten wie Start- und Endzeit der Ausführung, Ausführung Status, 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 wird. Wenn Sie also ein Notebook oder SQL-Script aktualisieren und später seinen Inhalt aktualisieren, wird die Aktualisierung auch im geplanten Ausführungen des Notebooks oder SQL-Skripts.
Kosten
Geplante SQL-Skripts und geplante Notebooks lösen die Jobausführung mit Dataproc Serverless aus. Die Nutzung wird gemäß dem Dataproc-Preismodell berechnet in Dataproc statt unter Dataplex.
Hinweise
Prüfen und erfüllen Sie die in den folgenden Dokumenten beschriebenen Voraussetzungen:
- Der Abschnitt Vorbereitung von Workbench zur Datenexploration verwenden
Im Abschnitt Vorbereitung von Benutzerdefinierte Spark- und SparkSQL-Aufgaben planen
Wenn ein SQL-Skript oder ein Notebookzeitplan die BigQuery API verwendet, müssen Sie den
Dienstkonto die Rolle „Service Usage-Nutzer“ (roles/serviceusage.serviceUsageConsumer
) haben.
Bekannte Einschränkungen
Beim Planen eines Notebooks mit der Google Cloud Console werden zusätzliche Python-Pakete die in der ausgewählten Umgebung konfiguriert wurden, sind zur Laufzeit nicht verfügbar. für das geplante Notebook. Damit sie zur Laufzeit verfügbar sind, müssen Sie einen Notebookzeitplan erstellen, der auf eine Container-Image mit den erforderlichen zusätzlichen Paketen. Weitere Informationen finden Sie unter Notebooks mit benutzerdefinierten Paketen planen.
Mit der Google Cloud Console auf benutzerdefinierten Container verweisen Images beim Planen von Notebooks nicht unterstützt. Verwenden Sie stattdessen die gcloud CLI.
Sie können einen Zeitplan nach dem Erstellen nicht mehr bearbeiten. Um die Zeitplanparameter zu aktualisieren, müssen Sie den Zeitplan mit neuen Parametern neu erstellen.
Sie können keine bestimmte Version eines SQL-Skripts oder -Notebooks zur Verwendung in einen Zeitplan. Beim Auslösen des Zeitplans wird die aktuelle Version des SQL-Skripts oder Notebooks verwendet.
Beim Planen von SQL-Skripts und Notebooks mit der Google Cloud Console ist das Standard-Subnetzwerk verwendet. Verwenden Sie die gcloud CLI, um ein weiteres Netzwerk oder Subnetzwerk anzugeben.
Lesen Sie außerdem die bekannten Einschränkungen des explorativen Analysetools.
Zeitpläne für SQL-Skripts erstellen und verwalten
Laufzeitkonfiguration für geplante SQL-Skripts
Wenn ein SQL-Script geplant ist, wird es als Dataplex-Aufgabe ausgeführt. Beim Erstellen eines Zeitplans mit der Google Cloud Console werden die entsprechenden Laufzeitparameter der Aufgabe für geplante SQL-Abfragen Skripts aus der Umgebung dieses SQL-Skripts auf Basis der folgende Zuordnung:
Konfigurationsparameter für die Umgebung | Konfigurationsparameter der geplanten SQL-Skriptaufgabe |
---|---|
Größe des primären Laufwerks | Container-Image / Properties: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl von Knoten | Anzahl der Batch-/Executors |
Maximale Anzahl von Knoten | Batch-/Max. 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 das SQL-Skript aus, das Sie planen möchten, indem Sie 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 ausgeführt werden soll. nur einmal oder regelmäßig:
Wenn Sie Einmal ausführen auswählen, geben Sie an, ob Sie das SQL-Skript sofort ausführen möchten. oder zu einem bestimmten Zeitpunkt mit den Optionen im Start-Menü. Bei einer geplanten Ausführung geben das Startdatum und die Laufzeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob Sie das SQL-Skript täglich, wöchentlich, monatlich oder nach einem benutzerdefinierten Zeitplan, der mit einem Cron-Ausdruck angegeben wird Außerdem geben das Startdatum und die Laufzeit für die erste geplante Ausführung an.
Führen Sie im Abschnitt Destination for results (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, in dem die Skriptausgaben gespeichert werden sollen.
Klicken Sie auf Auswählen.
Wählen Sie das Skriptausgabeformat aus. Unterstützte Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Bereich Anmeldedaten für geplantes Skript im Menü Dienstkontonutzer ein Dienstkonto aus.
Klicken Sie auf Schedule (Planen).
gcloud
Informationen zum Planen von SQL-Skripts mit der gcloud CLI finden Sie unter SparkSQL-Task planen
REST
Verwenden Sie den API Explorer, um eine Aufgabe zu erstellen.
Zeitpläne für SQL-Skripts 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-Skript öffnen
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie das erforderliche SQL-Skript aus.
Klicken Sie im Menü Zeitplan auf Zeitpläne ansehen.
Der Tab Geplante Abfragen wird mit einer Liste der gefilterten SQL-Skriptpläne geöffnet. durch das ausgewählte SQL-Skript.
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 SQL-Skriptzeitplans und eine des geplanten SQL-Skriptinhalts.
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 den Zeitplan eines inaktiven SQL-Skripts 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 dauerhaft zu löschen.
Logs ansehen und SQL-Script-Zeitplan 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-Abfrage. das Sie sich ansehen möchten.
Klicken Sie auf Logs ansehen, um die Logs für den ausgewählten geplanten SQL-Code 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 serverlosen Dataproc-Sitzung auf.
Klicken Sie neben dem Label Ausgabe auf In Cloud Storage verwalten, um die Cloud Storage-Seite zu öffnen. in der Google Cloud Console. Auf die Details des entsprechenden Cloud Storage zugreifen Bucket mit der Ausgabe der SQL-Skriptausführung.
gcloud
Informationen zum Monitoring geplanter SQL-Skripts mit der gcloud CLI Weitere Informationen finden Sie auf dem Tab gcloud im Artikel Task überwachen.
Informationen zum Verwalten geplanter SQL-Skripts mit der gcloud CLI Weitere Informationen finden Sie unter Zeitplan verwalten auf dem Tab gcloud.
REST
Informationen zum Monitoring geplanter SQL-Skripts mit REST finden Sie auf dem Tab REST in Überwachen Sie Ihre Aufgabe.
Informationen zum Verwalten geplanter SQL-Skripts mit REST finden Sie finden Sie unter Zeitplan verwalten den Tab REST.
Ausgabe eines geplanten SQL-Skripts
Die Ausgabe bei jeder Ausführung eines geplanten SQL-Skripts wird am Speicherort gespeichert. für den Cloud Storage-Ordner angegeben, und zwar in der folgenden Struktur:
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. Beim Erstellen eines Zeitplans mit der Google Cloud Console wird die entsprechende Aufgabenlaufzeit Parameter für geplante Notebooks werden aus der Umgebung dieses Notebooks übernommen. basierend auf der folgenden Zuordnung:
Konfigurationsparameter für die Umgebung | Konfigurationsparameter der geplanten Notebook-Aufgabe |
---|---|
Größe des primären Laufwerks | Container-Image / Properties: spark.dataproc.driver.disk.size spark.dataproc.executor.disk.size |
Anzahl von Knoten | Anzahl der Batch-/Executors |
Maximale Anzahl von Knoten | Batch-/Max. 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
Gehen Sie bei der Konfiguration einer Umgebung für interaktive Notebooks so vor: Mit Dataplex können Sie benutzerdefinierte Python-Pakete angeben, die installiert werden sollen in Nutzersitzungen, die für die Umgebung bereitgestellt wurden. Wenn ein solches Notizbuch geplant ist, Die benutzerdefinierten Python-Pakete, die in ihrer Umgebung konfiguriert sind, sind zur Laufzeit nicht für den geplantes Notebook 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, ein benutzerdefiniertes Container-Image mit den erforderlichen benutzerdefinierten Paketen bereitstellen
Benutzerdefiniertes Container-Image beim Planen eines Notebooks mit der Google Cloud Console angeben wird nicht unterstützt. Verwenden Sie stattdessen die gcloud CLI. Weitere Informationen 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 Installation der erforderlichen benutzerdefinierten Python-Pakete im Dockerfile des Container-Images finden Sie unter Erstellen Sie ein benutzerdefiniertes Container-Image für Dataproc Serverless for Spark.
Prüfen Sie, ob die folgenden Conda-Pakete im Container-Image installiert sind:
gcsfs
google-cloud-bigquery
google-cloud-storage
google-auth
ipykernel
papermill
Öffnen Sie das Container-Image-Dockerfile, um die gcloud
-Komponenten in einem Container-Image zu installieren
und führen Sie die folgenden Schritte aus:
Fügen Sie das Paket
google-cloud-sdk
der Liste der zu installierenden Conda-Pakete hinzu.Fügen Sie nach dem Installationsschritt für Conda-Pakete die folgenden Zeilen hinzu:
# (Optional) Installing gcloud components RUN gcloud components install alpha beta bq
Notebook planen
Console
Rufen Sie in der Google Cloud Console die Dataplex-Seite Explore auf.
Wählen Sie ein Notebook aus, für das Sie einen Zeitplan erstellen möchten. Wählen Sie dazu entweder Über die Ansicht Notebooks oder durch Öffnen eines Notebooks auf der Detailseite des Notebooks
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 Sie das Notebook ausführen möchten nur einmal oder regelmäßig:
Wenn Sie Einmal ausführen auswählen, geben Sie an, ob Sie das Notebook sofort ausführen möchten oder zu einem bestimmten Zeitpunkt mit den Optionen im Start-Menü. Bei einer geplanten Ausführung geben das Startdatum und die Laufzeit an.
Wenn Sie Wiederholen auswählen, geben Sie an, ob Sie das Notebook täglich, wöchentlich oder monatlich oder nach einem benutzerdefinierten Zeitplan, der mit einem 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 Ort aus, an dem Sie dass die Notebook-Ausgabe gespeichert werden soll:
Geben Sie im Feld Name des Ausgabeordners Folgendes ein: Klicken Sie auf Durchsuchen und wählen Sie einen Ordner in einem Cloud Storage-Bucket aus, in dem Sie dass die Notebook-Ausgabe gespeichert werden soll.
Klicken Sie auf Auswählen.
Wählen Sie das Skriptausgabeformat aus. Unterstützte Formate sind CSV, JSON, ORC und Parquet.
Wählen Sie im Abschnitt Geplante Notebook-Anmeldedaten im Menü Nutzerdienstkonto ein Dienstkonto aus.
Fügen Sie im Bereich Parameter Ausführungsparameter für das Notebook als Schlüssel/Wert-Paar hinzu. Paare, indem Sie auf Hinzufügen klicken.
Klicken Sie auf Schedule (Planen).
gcloud
Führen Sie den in Spark-Aufgabe planen (Java oder Python) planen beschriebenen gcloud CLI-Befehl aus. mit den folgenden zusätzlichen Parametern:
Parameter | Beschreibung |
---|---|
--notebook
|
Pfad zum Notebookinhalt für das Eingabenotebook. Die Ausführungsargumente sind zugänglich als
Umgebungsvariablen. Beispiel: TASK_key=value . Hinweis : In der gcloud -Referenzdokumentation zum Planen von Notebooks als Aufgaben wird
dass der Wert für den Parameter --notebook der Cloud Storage-URI
der Notebook-Datei. Dies wird nicht unterstützt. Sie müssen nur den Pfad zum Notebook angeben
Inhalt für den Parameter --notebook . |
--notebook-archive-uris
|
Cloud Storage-URIs von Archiven, die in das Arbeitsverzeichnis jedes einzelnen Archivs extrahiert werden sollen
Executor. Die unterstützten 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. |
Rechenressourcen, die bei Verwendung von Dataproc Serverless für eine Aufgabe erforderlich sind | |
--notebook-batch-executors-count |
Anzahl der Job-Executors. |
--notebook-batch-max-executors-count
|
Maximale Anzahl konfigurierbarer Executors. Wenn notebook-batch-max-executors-count größer als notebook-batch-executors-count ist,
ist Autoscaling aktiviert. |
Container-Image-Laufzeitkonfiguration | |
--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. Gültige Eingabe sind Cloud Storage-URIs für
JAR-Binärdateien. Beispiel: gs ://BUCKET_NAME/my/path/to/file.jar . |
--notebook-container-image-properties
|
Die für Daemon-Konfigurationsdateien festzulegenden Attribute. Attributschlüssel werden im Format prefix :property angegeben. Beispiel:: 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-Netzwerkkennung. Sie können höchstens einen der folgenden Werte angeben. | |
--notebook-vpc-network-name
|
Das Cloud-VPC-Netzwerk, in dem der Job ausgeführt wird. Standardmäßig hat das Cloud-VPC-Netzwerk Der Standardwert innerhalb des Projekts wird 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
wird als TASK_ARGS übergeben. |
--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
Verwenden Sie den API Explorer, um eine Aufgabe zu erstellen.
Notebookzeitpläne verwalten
Console
Liste aller Notebookzeitplä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 gefilterter Notebook-Zeitpläne geöffnet. ausgewählten Notebooks.
Details eines Notebookzeitplans ansehen
Wechseln Sie zum Tab Geplante Notebooks und wählen Sie den erforderlichen Notebookzeitplan aus.
Klicken Sie auf Details zum Zeitplan des Notebooks und sehen Sie sich eine Vorschau des geplanten Notebookinhalts an.
Notebookzeitplan aktivieren und deaktivieren
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebookzeitplan aus.
Klicken Sie auf Deaktivieren, um einen aktiven Notebookzeitplan zu deaktivieren.
Klicken Sie auf Aktivieren, um einen Zeitplan für inaktive Notebooks zu aktivieren.
Vorhandenen Notebookzeitplan löschen
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebookzeitplan aus.
Klicken Sie auf Löschen, um einen vorhandenen Notebookzeitplan endgültig zu löschen.
Logs ansehen und Notebookzeitplan verwalten
Wechseln Sie zum Tab Geplantes Notebook und wählen Sie den erforderlichen Notebookzeitplan aus.
Klicken Sie auf den Tab Jobs und dann auf die Job-ID der geplanten Notebookausführung, die Sie ansehen möchten.
Sehen Sie sich im Abschnitt Vorschau der Ausgabe die Ausgabe der Notebookausführung an.
Klicken Sie auf Logs ansehen, um die Logs aufzurufen, die sich auf die ausgewählte geplante Notebookausführung in Cloud Logging beziehen.
Klicken Sie auf die Dataproc-Batch-ID, um die Dataproc-Seite in der Google Cloud Console zu öffnen. Rufen Sie die Details der entsprechenden serverlosen Dataproc-Sitzung auf.
Klicken Sie neben dem Label Ausgabe auf In Cloud Storage verwalten, um die Cloud Storage-Seite zu öffnen. in der Google Cloud Console. Auf die Details des entsprechenden Cloud Storage zugreifen Bucket mit der Ausgabe der Notebookausführung.
gcloud
Informationen zum Monitoring geplanter Notebooks mit der gcloud CLI Weitere Informationen finden Sie auf dem Tab gcloud im Artikel Task überwachen.
Informationen zum Verwalten geplanter Notebooks mit der gcloud CLI Weitere Informationen finden Sie unter Zeitplan verwalten auf dem Tab gcloud.
REST
Informationen zum Monitoring geplanter Notebooks mit REST finden Sie auf dem Tab REST in Überwachen Sie Ihre Aufgabe.
Informationen zum Verwalten geplanter Notebooks mit REST finden Sie unter Zeitplan verwalten den Tab REST.
Ausgabe eines geplanten Notebooks
Die Ausgabe bei jeder Ausführung eines geplanten Notebooks wird am Standort gespeichert für den Cloud Storage-Ordner angegeben, und zwar in der folgenden Struktur:
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 für Dataplex-Aufgaben einrichten