Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie, wie Sie mithilfe von Databricks Lakeflow Connect eine verwaltete Confluence-Aufnahmepipeline erstellen.
Anforderungen
Um eine Aufnahmepipeline zu erstellen, müssen Sie zuerst die folgenden Anforderungen erfüllen:
Ihr Arbeitsbereich muss für Unity Catalog aktiviert sein.
Serverlose Berechnung muss für Ihren Arbeitsbereich aktiviert sein. Siehe Serverlose Computeanforderungen.
Um eine neue Verbindung zu erstellen, müssen Sie über Berechtigungen für den Metastore verfügen
CREATE CONNECTION. Weitere Informationen finden Sie unter Verwalten von Berechtigungen in Unity Catalog.Wenn der Connector die benutzeroberflächenbasierte Pipelineerstellung unterstützt, kann ein Administrator die Verbindung und die Pipeline gleichzeitig erstellen, indem er die Schritte auf dieser Seite ausführt. Wenn die Benutzer, die Pipelines erstellen, jedoch API-basierte Pipelineerstellung verwenden oder Nicht-Administratorbenutzer sind, muss ein Administrator zuerst die Verbindung im Katalog-Explorer erstellen. Siehe Herstellen einer Verbindung mit verwalteten Aufnahmequellen.
Um eine vorhandene Verbindung zu verwenden, müssen Sie über die Berechtigungen
USE CONNECTIONoderALL PRIVILEGESfür das Verbindungsobjekt verfügen.Sie müssen über
USE CATALOG-Berechtigungen für den Zielkatalog verfügen.Sie müssen über
USE SCHEMA- undCREATE TABLE-Berechtigungen für ein vorhandenes Schema oderCREATE SCHEMA-Berechtigungen für den Zielkatalog verfügen.
Um von Confluence aufzunehmen, müssen Sie zuerst die Schritte in " Erstellen einer Confluence-Verbindung" ausführen.
Erstellen einer Aufnahmepipeline
Jede Quelltabelle wird in eine Streamingtabelle eingelesen. Eine Liste der unterstützten Quelltabellen finden Sie unter "Unterstützte Daten".
Databricks UI
- Klicken Sie in der Randleiste des Azure Databricks-Arbeitsbereichs auf "Datenaufnahme".
- Klicken Sie auf der Seite " Daten hinzufügen " unter "Databricks-Connectors" auf "Confluence".
- Wählen Sie auf der Seite „Verbindung“ des Import-Assistenten die Verbindung aus, die Ihre Anmeldeinformationen für den Zugriff auf Confluence speichert. Wenn Sie über die
CREATE CONNECTIONBerechtigungen für den Metastore verfügen, können Sie auf dasErstellen Sie eine Verbindung , um eine neue Verbindung mit den Authentifizierungsdetails in "Erstellen einer Confluence-Verbindung" zu erstellen.
- Klicke auf Weiter.
- Geben Sie auf der Seite Einrichtung der Datenaufnahme einen eindeutigen Namen für die Pipeline ein.
- Wählen Sie einen Katalog und ein Schema aus, in das Ereignisprotokolle geschrieben werden sollen. Wenn Sie
und Berechtigungen im Katalog haben, können Sie im Dropdownmenü auf das klicken, um ein neues Schema zu erstellen.Plussymbol - Klicken Sie auf "Pipeline erstellen", und fahren Sie fort.
- Wählen Sie auf der Seite "Quelle" die aufzunehmenden Tabellen aus.
- Klicken Sie auf Speichern und fortfahren.
- Wählen Sie auf der Seite "Ziel " einen Katalog und ein Schema aus, in das Daten geladen werden sollen. Wenn Sie
und Berechtigungen im Katalog haben, können Sie im Dropdownmenü auf das klicken, um ein neues Schema zu erstellen.Plussymbol - Klicken Sie auf Speichern und fortfahren.
- (Optional) Klicken Sie auf der Seite "Zeitpläne und Benachrichtigungen " auf das
Zeitplan erstellen. Legen Sie die Häufigkeit fest, mit der die Zieltabellen aktualisiert werden.
- (Optional) Klicken Sie auf
Fügen Sie eine Benachrichtigung hinzu, um E-Mail-Benachrichtigungen für Erfolg oder Fehler des Pipelinevorgangs festzulegen, und klicken Sie dann auf " Speichern und Ausführen der Pipeline".
Deklarative Automatisierungspakete
Verwenden Sie deklarative Automatisierungspakete, um Confluence-Pipelines als Code zu verwalten. Bundles können YAML-Definitionen von Aufträgen und Aufgaben enthalten, mithilfe der Databricks CLI verwaltet und in verschiedenen Zielarbeitsbereichen (z. B. Entwicklung, Staging und Produktion) freigegeben und ausgeführt werden. Weitere Informationen finden Sie unter Was sind deklarative Automatisierungs-Bundles?.
Erstellen Eines Bündels mithilfe der Databricks CLI:
databricks bundle initFügen Sie dem Bundle zwei neue Ressourcendateien hinzu:
- Eine Pipelinedefinitionsdatei (z. B
resources/confluence_pipeline.yml. ). Siehe pipeline.ingestion_definition und Beispiele. - Eine Auftragsdefinitionsdatei, die die Häufigkeit der Datenaufnahme steuert (z. B.
resources/confluence_job.yml).
- Eine Pipelinedefinitionsdatei (z. B
Stellen Sie die Pipeline mithilfe der Databricks CLI bereit:
databricks bundle deploy
Databricks-Notizbuch
Importieren Sie das folgende Notizbuch in Ihren Azure Databricks-Arbeitsbereich:
Lassen Sie Zelle 1 unverändert.
Ändern Sie die dritte Zelle mit den Details der Pipelinekonfiguration. Siehe pipeline.ingestion_definition und Beispiele.
Klicken Sie auf Alle ausführen.
Beispiele
Verwenden Sie diese Beispiele, um Ihre Pipeline zu konfigurieren.
Einlesen einer einzelnen Quelltabelle
Deklarative Automatisierungspakete
Die folgende Pipeline-Definitionsdatei nimmt eine einzelne Quelltabelle auf.
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema
# The main pipeline for confluence_dab
resources:
pipelines:
pipeline_confluence:
name: confluence_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <confluence-connection>
objects:
# An array of objects to ingest from Confluence. This example ingests the pages table.
- table:
source_schema: default
source_table: pages
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
Databricks-Notizbuch
Es folgt eine Beispiel-Pipelinespezifikation, die eine einzelne Quelltabelle importiert:
pipeline_spec = """
{
"name": "<pipeline-name>",
"ingestion_definition": {
"connection_name": "<confluence-connection>",
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "pages",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Eingabe mehrerer Quelltabellen
Deklarative Automatisierungspakete
Die folgende Pipelinedefinitionsdatei nimmt mehrere Quelltabellen ein:
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema
# The main pipeline for confluence_dab
resources:
pipelines:
pipeline_confluence:
name: confluence_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <confluence-connection>
objects:
# An array of objects to ingest from Confluence. This example ingests the pages and blogposts tables.
- table:
source_schema: default
source_table: pages
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: default
source_table: blogposts
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
Databricks-Notizbuch
Im Folgenden sehen Sie eine Beispielpipelinespezifikation, die mehrere Quelltabellen verarbeitet:
pipeline_spec = """
{
"name": "<pipeline-name>",
"ingestion_definition": {
"connection_name": "<confluence-connection>",
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "pages",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
},
{
"table": {
"source_schema": "default",
"source_table": "blogposts",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema"
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)
Deklarative Automatisierungsbundle-Auftragsdefinitionsdatei
Deklarative Automatisierungspakete
Es folgt eine Beispielauftragsdefinitionsdatei, die mit deklarativen Automatisierungspaketen verwendet werden soll. Der Job wird jeden Tag ausgeführt, genau einen Tag nach der letzten Ausführung.
resources:
jobs:
confluence_dab_job:
name: confluence_dab_job
trigger:
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_confluence.id}
Filtern nach Leerzeichen
Sie können eingespielte Daten nach bestimmten Confluence-Bereichen filtern, indem Sie connector_options.confluence_options einem beliebigen Tabellenobjekt in Ihrer Pipelinedefinition hinzufügen. Geben Sie genaue Leerzeichen in include_confluence_spaces an. Bereichsschlüssel sind groß‑ und kleinschreibungsempfindlich und unterscheiden sich von Bereichsnamen.
Um Ihren Bereichsschlüssel zu finden, navigieren Sie zu einer beliebigen Seite im Bereich und überprüfen Sie die URL. Es ist der kurze Bezeichner, der folgt /space/ oder /display/. Alternativ können Sie zu Space-Tools>Übersicht>Bereichsdetails navigieren, um den Schlüssel anzuzeigen.
Weitere Informationen finden Sie in der Confluence-Dokumentation unter "Space Keys ".
Note
Die Platzfilterung wird für die labels- und attachments-Tabellen nicht unterstützt. Die Confluence-API gibt nicht an, aus welchem Raum diese Objekte stammen. Dies wird also include_confluence_spaces ignoriert, wenn labels oder attachments aufgenommen wird.
Deklarative Automatisierungspakete
- table:
source_schema: default
source_table: pages
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
connector_options:
confluence_options:
include_confluence_spaces:
- KEY1
- KEY2
Databricks-Notizbuch
pipeline_spec = """
{
"name": "<pipeline-name>",
"ingestion_definition": {
"connection_name": "<confluence-connection>",
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "pages",
"destination_catalog": "main",
"destination_schema": "ingest_destination_schema",
"connector_options": {
"confluence_options": {
"include_confluence_spaces": ["KEY1", "KEY2"]
}
}
}
}
]
}
}
"""
create_pipeline(pipeline_spec)
Allgemeine Muster
Weitere Informationen zu erweiterten Pipelinekonfigurationen finden Sie unter "Allgemeine Muster für verwaltete Aufnahmepipelinen".
Nächste Schritte
Starten Sie, planen Sie und legen Sie Benachrichtigungen für Ihre Pipeline fest. Siehe allgemeine Pipelinewartungsaufgaben.