Lesen von Daten, die über das Delta Sharing-Protokoll für offene Freigaben (für Empfänger) freigegeben wurden

In diesem Artikel wird beschrieben, wie Sie Daten lesen, die mit dem Delta Sharing-Protokoll für offene Freigaben freigegeben wurden. Bei offenen Freigaben wird eine Anmeldeinformationsdatei verwendet, die vom Datenanbieter an ein Mitglied Ihres Teams weitergegeben wurde, um sicheren Lesezugriff auf freigegebene Daten zu ermöglichen. Der Zugriff wird beibehalten, solange die Anmeldeinformationen gültig sind und der Anbieter die Daten weiterhin freigibt. Anbieter verwalten den Ablauf und die Rotation von Anmeldeinformationen. Änderungen an den Daten stehen Ihnen nahezu in Echtzeit zur Verfügung. Sie können die freigegebenen Daten lesen und kopieren, aber Sie können die Quelldaten nicht ändern.

Hinweis

Wenn Daten mit Ihnen mit Databricks-to-Databricks Delta Sharing geteilt wurden, benötigen Sie keine Anmeldeinformationsdatei für den Zugriff auf Daten, und dieser Artikel gilt nicht für Sie. Eine entsprechende Anleitung finden Sie unter Lesen von per Databricks-zu-Databricks Delta Sharing freigegebenen Daten (für Empfänger).

In den folgenden Abschnitten wird beschrieben, wie Sie Azure Databricks, Apache Spark, Pandas und Power BI verwenden, um mithilfe der Anmeldeinformationsdatei auf freigegebene Daten zuzugreifen und diese zu lesen. Eine vollständige Liste der Delta Sharing-Connectors sowie Informationen zu ihrer Verwendung finden Sie in der Open-Source-Dokumentation zu Delta Sharing. Wenn beim Zugriff auf die freigegebenen Daten Probleme auftreten, wenden Sie sich an den Datenanbieter.

Hinweis

Partnerintegrationen werden (sofern nicht anders angegeben) von den Drittanbietern bereitgestellt, und Sie müssen über ein Konto beim entsprechenden Anbieter verfügen, um dessen Produkte und Dienste nutzen zu können. Die Informationen werden von Databricks bestmöglich auf dem neuesten Stand gehalten, wir sind jedoch nicht für die Integrationen oder für die Richtigkeit der Inhalte auf den Partnerintegrationsseiten verantwortlich. Wenden Sie sich hinsichtlich der Integrationen an die entsprechenden Anbieter.

Voraussetzungen

Ein Mitglied Ihres Teams muss die vom Datenanbieter bereitgestellte Anmeldeinformationsdatei herunterladen. Weitere Informationen finden Sie unter Erhalten von Zugriff im Modell für offene Freigaben.

Die Datei bzw. der Dateispeicherort muss über einen sicheren Kanal bereitgestellt werden.

Azure Databricks: Lesen freigegebener Daten mithilfe von Connectors für offene Freigaben

In diesem Abschnitt wird beschrieben, wie Sie einen Connector für offene Freigaben verwenden, um mithilfe eines Notebooks in Ihrem Azure Databricks-Arbeitsbereich auf freigegebene Daten zuzugreifen. Sie (oder ein anderes Mitglied Ihres Teams) speichern die Anmeldeinformationsdatei im DBFS und verwenden sie dann, um sich beim Azure Databricks-Konto des Datenanbieters zu authentifizieren und die Daten zu lesen, die der Datenanbieter für Sie freigegeben hat.

Hinweis

Wenn der Datenanbieter die Datenbricks-zu-Databricks-Freigabe verwendet und keine Anmeldeinformationsdatei für Sie freigegeben hat, müssen Sie mit Unity Catalog auf die Daten zugreifen. Eine entsprechende Anleitung finden Sie unter Lesen von per Databricks-zu-Databricks Delta Sharing freigegebenen Daten (für Empfänger).

In diesem Beispiel wird ein Notebook mit mehreren Zellen erstellt, die unabhängig voneinander ausgeführt werden können. Alternativ können Sie die Notebookbefehle der gleichen Zelle hinzufügen und sie nacheinander ausführen.

Schritt 1: Speichern der Anmeldeinformationsdatei im DBFS (Python-Anweisungen)

In diesem Schritt wird ein Python-Notebook in Azure Databricks verwendet, um die Anmeldeinformationsdatei zu speichern, damit Benutzer in Ihrem Team auf freigegebene Daten zugreifen können.

Fahren Sie direkt mit dem nächsten Schritt fort, wenn die Anmeldeinformationsdatei bereits im DBFS gespeichert wurde (entweder von Ihnen selbst oder von einem anderen Mitglied Ihres Teams).

  1. Öffnen Sie die Anmeldeinformationsdatei in einem Text-Editor.

  2. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Neu > Notebook.

    • Geben Sie einen Namen ein.
    • Legen Sie die Standardsprache für das Notebook auf Python fest.
    • Wählen Sie einen Cluster aus, der an das Notebook angefügt werden soll.
    • Klicken Sie auf Erstellen.

    Das Notebook wird im Notebook-Editor geöffnet.

  3. Um Python oder Pandas für den Zugriff auf die freigegebenen Daten zu verwenden, installieren Sie den Python-Connector „delta-sharing“. Fügen Sie im Notebook-Editor den folgenden Befehl ein:

    %sh pip install delta-sharing
    
  4. Führen Sie die Zelle aus.

    Die Python-Bibliothek delta-sharing wird im Cluster installiert, falls sie noch nicht installiert ist.

  5. Fügen Sie in einer neuen Zelle den folgenden Befehl ein. Er dient dazu, den Inhalt der Anmeldeinformationsdatei in einen Ordner im DBFS hochzuladen. Ersetzen Sie die Variablen folgendermaßen:

    • <dbfs-path>: Pfad zum Ordner, in dem die Anmeldeinformationsdatei gespeichert werden soll

    • <credential-file-contents>: Inhalt der Anmeldeinformationsdatei Dies ist kein Pfad zur Datei, sondern der kopierte Inhalt der Datei.

      Die Anmeldeinformationsdatei enthält JSON-Code, der drei Felder definiert: shareCredentialsVersion, endpointund bearerToken.

      %scala
      dbutils.fs.put("<dbfs-path>/config.share","""
      <credential-file-contents>
      """)
      
  6. Führen Sie die Zelle aus.

    Nachdem die Anmeldeinformationsdatei hochgeladen wurde, können Sie diese Zelle löschen. Alle Arbeitsbereichsbenutzer können die Anmeldeinformationsdatei aus dem DBFS lesen, und die Anmeldeinformationsdatei steht im DBFS für alle Cluster und SQL-Warehouses in Ihrem Arbeitsbereich zur Verfügung. Klicken Sie rechts im Aktionsmenü Zellenaktionen einer Zelle auf x, um diese Zelle zu löschen.

Schritt 2: Verwenden eines Notebooks zum Auflisten und Lesen freigegebener Tabellen

In diesem Schritt listen Sie die Tabellen in der Freigabe oder die Gruppe von freigegebenen Tabellen und Partitionen auf und fragen eine Tabelle ab.

  1. Listen Sie die Tabellen mit Python in der Freigabe auf.

    Fügen Sie in einer neuen Zelle den folgenden Befehl ein. Ersetzen Sie dabei <dbfs-path> durch den Pfad, der in Schritt 1: Speichern der Anmeldeinformationsdatei im DBFS (Python-Anweisungen) erstellt wurde.

    Wenn der Code ausgeführt wird, liest Python die Anmeldeinformationsdatei aus dem DBFS in den Cluster ein. Greifen Sie auf die Daten zu, die im DBFS unter dem Pfad /dbfs/ gespeichert sind.

    import delta_sharing
    
    client = delta_sharing.SharingClient(f"/dbfs/<dbfs-path>/config.share")
    
    client.list_all_tables()
    
  2. Führen Sie die Zelle aus.

    Das Ergebnis ist ein Array aus Tabellen sowie Metadaten für jede Tabelle. Die folgende Ausgabe zeigt zwei Tabellen:

    Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]
    

    Wenn die Ausgabe leer ist oder nicht die erwarteten Tabellen enthält, wenden Sie sich an den Datenanbieter.

  3. Fragen Sie eine freigegebene Tabelle ab.

    • Vorgehensweise mit Scala:

      Fügen Sie in einer neuen Zelle den folgenden Befehl ein. Wenn der Code ausgeführt wird, wird die Anmeldeinformationsdatei über JVM aus dem DBFS gelesen.

      Ersetzen Sie die Variablen folgendermaßen:

      • <profile-path>: DBFS-Pfad der Anmeldeinformationsdatei Beispiel: /<dbfs-path>/config.share.
      • <share-name>: Wert von share= für die Tabelle
      • <schema-name>: Wert von schema= für die Tabelle
      • <table-name>: Wert von name= für die Tabelle
      %scala
          spark.read.format("deltaSharing")
          .load("<profile-path>#<share-name>.<schema-name>.<table-name>").limit(10);
      

      Führen Sie die Zelle aus. Jedes Mal, wenn Sie die freigegebene Tabelle laden, werden aktualisierte Daten aus der Quelle angezeigt.

    • Vorgehensweise mit SQL:

      Um die Daten mithilfe von SQL abfragen zu können, müssen Sie im Arbeitsbereich zunächst eine lokale Tabelle auf der Grundlage der freigegebenen Tabelle erstellen und dann die lokale Tabelle abfragen. Die freigegebenen Daten werden nicht in der lokalen Tabelle gespeichert oder zwischengespeichert. Jedes Mal, wenn Sie die lokale Tabelle abfragen, wird der aktuelle Status der freigegebenen Daten angezeigt.

      Fügen Sie in einer neuen Zelle den folgenden Befehl ein.

      Ersetzen Sie die Variablen folgendermaßen:

      • <local-table-name>: Name der lokalen Tabelle
      • <profile-path>: Speicherort der Anmeldeinformationsdatei
      • <share-name>: Wert von share= für die Tabelle
      • <schema-name>: Wert von schema= für die Tabelle
      • <table-name>: Wert von name= für die Tabelle
      %sql
      DROP TABLE IF EXISTS table_name;
      
      CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";
      
      SELECT * FROM <local-table-name> LIMIT 10;
      

      Wenn Sie den Befehl ausführen, werden die freigegebenen Daten direkt abgefragt. Die Tabelle wird testweise abgefragt, und die ersten zehn Ergebnisse werden zurückgegeben.

    Wenn die Ausgabe leer ist oder nicht die erwarteten Daten enthält, wenden Sie sich an den Datenanbieter.

Apache Spark: Lesen freigegebener Daten

Gehen Sie wie folgt vor, um mithilfe von Apache Spark 3.x oder einer höheren Version auf freigegebene Daten zuzugreifen.

Bei dieser Anleitung wird davon ausgegangen, dass Sie Zugriff auf die Anmeldeinformationsdatei haben, die vom Datenanbieter bereitgestellt wurde. Weitere Informationen finden Sie unter Erhalten von Zugriff im Modell für offene Freigaben.

Installieren der Delta Sharing-Connectors für Python und Spark

Gehen Sie wie folgt vor, um auf Metadaten zu den freigegebenen Daten zuzugreifen (etwa auf die Liste der für Sie freigegebenen Tabellen). In diesem Beispiel wird Python verwendet.

  1. Installieren Sie den Delta Sharing-Connector für Python:

    pip install delta-sharing
    
  2. Installieren Sie den Apache Spark-Connector.

Auflisten freigegebener Tabellen mithilfe von Spark

Listen Sie die Tabellen in der Freigabe auf. Ersetzen Sie <profile-path> im folgenden Beispiel durch den Speicherort der Anmeldeinformationsdatei.

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

Das Ergebnis ist ein Array aus Tabellen sowie Metadaten für jede Tabelle. Die folgende Ausgabe zeigt zwei Tabellen:

Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]

Wenn die Ausgabe leer ist oder nicht die erwarteten Tabellen enthält, wenden Sie sich an den Datenanbieter.

Zugreifen auf freigegebene Daten mithilfe von Spark

Führen Sie Folgendes aus, und ersetzen Sie dabei die folgenden Variablen:

  • <profile-path>: Speicherort der Anmeldeinformationsdatei
  • <share-name>: Wert von share= für die Tabelle
  • <schema-name>: Wert von schema= für die Tabelle
  • <table-name>: Wert von name= für die Tabelle
  • <version-as-of>: Optional. Die Version der Tabelle zum Laden der Daten. Funktioniert nur, wenn der Datenanbieter den Verlauf der Tabelle freigibt. Erfordert delta-sharing-spark 0.5.0 oder höher.
  • <timestamp-as-of>: Optional. Laden Sie die Daten in der Version vor dem oder zum angegebenen Zeitstempel. Funktioniert nur, wenn der Datenanbieter den Verlauf der Tabelle freigibt. Erfordert delta-sharing-spark 0.6.0 oder höher.

Python

delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", version=<version-as-of>)

spark.read.format("deltaSharing")\
.option("versionAsOf", <version-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10))

delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", timestamp=<timestamp-as-of>)

spark.read.format("deltaSharing")\
.option("timestampAsOf", <timestamp-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10))

Scala

Führen Sie Folgendes aus, und ersetzen Sie dabei die folgenden Variablen:

  • <profile-path>: Speicherort der Anmeldeinformationsdatei
  • <share-name>: Wert von share= für die Tabelle
  • <schema-name>: Wert von schema= für die Tabelle
  • <table-name>: Wert von name= für die Tabelle
  • <version-as-of>: Optional. Die Version der Tabelle zum Laden der Daten. Funktioniert nur, wenn der Datenanbieter den Verlauf der Tabelle freigibt. Erfordert delta-sharing-spark 0.5.0 oder höher.
  • <timestamp-as-of>: Optional. Laden Sie die Daten in der Version vor dem oder zum angegebenen Zeitstempel. Funktioniert nur, wenn der Datenanbieter den Verlauf der Tabelle freigibt. Erfordert delta-sharing-spark 0.6.0 oder höher.
spark.read.format("deltaSharing")
.option("versionAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)

spark.read.format("deltaSharing")
.option("timestampAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)

Zugreifen auf freigegebene Änderungsdatenfeeds mithilfe von Spark

Wenn der Tabellenverlauf für Sie freigegeben wurde und der Änderungsdatenfeed (Change Data Feed, CDF) für die Quelltabelle aktiviert ist, können Sie auf den Änderungsdatenfeed zugreifen, indem Sie folgendes ausführen und diese Variablen ersetzen. Erfordert delta-sharing-spark 0.5.0 oder höher.

Es muss nur ein einziger Startparameter angegeben werden.

  • <profile-path>: Speicherort der Anmeldeinformationsdatei
  • <share-name>: Wert von share= für die Tabelle
  • <schema-name>: Wert von schema= für die Tabelle
  • <table-name>: Wert von name= für die Tabelle
  • <starting-version>: Optional. Die Startversion der Abfrage (einschließlich). Geben Sie einen Long-Wert an.
  • <ending-version>: Optional. Die Endversion der Abfrage (einschließlich). Ohne Angabe der Endversion verwendet die API die neueste Tabellenversion.
  • <starting-timestamp>: Optional. Der Startzeitstempel der Abfrage. Wird in eine Version konvertiert, die frühestens zu diesem Zeitstempel erstellt wurde. Geben Sie diesen Wert als Zeichenfolge im Format yyyy-mm-dd hh:mm:ss[.fffffffff] an.
  • <ending-timestamp>: Optional. Der Endzeitstempel der Abfrage. Wird in eine Version konvertiert, die spätestens zu diesem Zeitstempel erstellt wurde. Geben Sie diesen Wert als Zeichenfolge im Format yyyy-mm-dd hh:mm:ss[.fffffffff] an.

Python

delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_version=<starting-version>,
  ending_version=<ending-version>)

delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_timestamp=<starting-timestamp>,
  ending_timestamp=<ending-timestamp>)

spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("statingVersion", <starting-version>)\
.option("endingVersion", <ending-version>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("startingTimestamp", <starting-timestamp>)\
.option("endingTimestamp", <ending-timestamp>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

Scala

spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("statingVersion", <starting-version>)
.option("endingVersion", <ending-version>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("startingTimestamp", <starting-timestamp>)
.option("endingTimestamp", <ending-timestamp>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

Wenn die Ausgabe leer ist oder nicht die erwarteten Daten enthält, wenden Sie sich an den Datenanbieter.

Zugreifen auf eine freigegebene Tabelle mit Spark Structured Streaming

Wenn der Tabellenverlauf für Sie freigegeben wird, können Sie die freigegebenen Daten streamen. Erfordert delta-sharing-spark 0.6.0 oder höher.

Unterstützte Optionen:

  • ignoreDeletes: Ignorieren von Transaktionen, die Daten löschen.
  • ignoreChanges: Erneutes Verarbeiten von Updates, wenn Dateien in der Quelltabelle aufgrund eines Datenwechselvorgangs wie UPDATE, MERGE INTO, DELETE (innerhalb von Partitionen) oder OVERWRITE neu geschrieben werden mussten. Unveränderte Zeilen können weiterhin ausgegeben werden. Daher sollten Ihre Downstream-Consumer in der Lage sein, Duplikate zu verarbeiten. Löschungen werden nicht nachgeschaltet propagiert. ignoreChanges subsumiert ignoreDeletes. Wenn Sie ignoreChanges verwenden, wird Ihr Stream daher weder durch Löschungen noch durch Aktualisierungen der Quelltabelle unterbrochen.
  • startingVersion: Die freigegebene Tabellenversion, mit der gestartet werden soll. Alle Tabellenänderungen ab dieser Version (und einschließlich) werden von der Streamingquelle gelesen.
  • startingTimestamp: Der Zeitstempel, ab dem gestartet werden soll. Alle Tabellenänderungen, die zum oder nach dem Zeitstempel (einschließlich) vorgenommen wurden, werden von der Streamingquelle gelesen. Beispiel: "2023-01-01 00:00:00.0".
  • maxFilesPerTrigger: Die Anzahl der neuen Dateien, die in jedem Mikrobatch berücksichtigt werden sollen.
  • maxBytesPerTrigger: Die Datenmenge, die in jedem Mikrobatch verarbeitet wird. Diese Option legt einen „soft max“ fest, was bedeutet, dass ein Batch ungefähr diese Datenmenge verarbeitet und möglicherweise mehr als den Grenzwert verarbeitet, um die Streamingabfrage voranzubringen, wenn die kleinste Eingabeeinheit größer als dieser Grenzwert ist.
  • readChangeFeed: Lesen des Änderungsdatenfeed der freigegebenen Tabelle im Stream.

Nicht unterstützte Optionen:

  • Trigger.availableNow

Beispiele strukturierter Streaming-Abfragen

Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

Weitere Informationen finden Sie unter Streaming in Azure Databricks.

Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen

Wichtig

Dieses Feature befindet sich in der Public Preview.

Löschvektoren sind ein Speicheroptimierungsfeature, das Ihr Anbieter für freigegebene Delta-Tabellen aktivieren kann. Weitere Informationen finden Sie unter Was sind Löschvektoren?.

Azure Databricks unterstützt auch die Spaltenzuordnung für Delta-Tabellen. Weitere Informationen finden Sie unter Rename and drop columns with Delta Lake column mapping (Umbenennen und Löschen von Spalten mit Delta Lake-Spaltenzuordnung).

Wenn Ihr Anbieter eine Tabelle mit aktivierten Löschvektoren oder Spaltenzuordnungen geteilt hat, können Sie die Tabelle mithilfe der Computeressource lesen, die delta-sharing-spark 3.1 oder höher ausführt. Wenn Sie Databricks-Cluster verwenden, können Sie Batchlesevorgänge mit einem Cluster ausführen, in dem Databricks Runtime 14.1 oder höher ausgeführt wird. CDF- und Streamingabfragen erfordern Databricks Runtime 14.2 oder höher.

Sie können Batchabfragen wie folgt ausführen, da sie basierend auf den Tabellenfeatures der freigegebenen Tabelle automatisch responseFormat auflösen können.

Wenn Sie einen Änderungsdatenfeed (CDF) lesen oder Streamingabfragen für freigegebene Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen ausführen möchten, müssen Sie die zusätzliche Option responseFormat=delta festlegen.

Die folgenden Beispiele zeigen Batch-, CDF- und Streamingabfragen:

import org.apache.spark.sql.SparkSession

val spark = SparkSession
        .builder()
        .appName("...")
        .master("...")
        .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
        .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
        .getOrCreate()

val tablePath = "<profile-file-path>#<share-name>.<schema-name>.<table-name>"

// Batch query
spark.read.format("deltaSharing").load(tablePath)

// CDF query
spark.read.format("deltaSharing")
  .option("readChangeFeed", "true")
  .option("responseFormat", "delta")
  .option("startingVersion", 1)
  .load(tablePath)

// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").load(tablePath)

Pandas: Lesen freigegebener Daten

Befolgen Sie diese Schritte, um auf freigegebene Daten in Pandas 0.25.3 oder höher zuzugreifen.

Bei dieser Anleitung wird davon ausgegangen, dass Sie Zugriff auf die Anmeldeinformationsdatei haben, die vom Datenanbieter bereitgestellt wurde. Weitere Informationen finden Sie unter Erhalten von Zugriff im Modell für offene Freigaben.

Installieren des Delta Sharing-Connectors für Python

Wenn Sie auf Metadaten zu den freigegebenen Daten zugreifen möchten (etwa auf die Liste der für Sie freigegebenen Tabellen), müssen Sie den Delta Sharing-Connector für Python installieren.

pip install delta-sharing

Auflisten freigegebener Tabellen mithilfe von Pandas

Führen Sie zum Auflisten der Tabellen in der Freigabe Folgendes aus, und ersetzen Sie dabei <profile-path>/config.share durch den Speicherort der Anmeldeinformationsdatei:

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

Wenn die Ausgabe leer ist oder nicht die erwarteten Tabellen enthält, wenden Sie sich an den Datenanbieter.

Zugreifen auf freigegebene Daten mithilfe von Pandas

Wenn Sie unter Verwendung von Python auf freigegebene Daten in Pandas zugreifen möchten, führen Sie Folgendes aus, und ersetzen Sie dabei die Variablen wie folgt:

  • <profile-path>: Speicherort der Anmeldeinformationsdatei
  • <share-name>: Wert von share= für die Tabelle
  • <schema-name>: Wert von schema= für die Tabelle
  • <table-name>: Wert von name= für die Tabelle
import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")

Zugreifen auf einen freigegebenen Änderungsdatenfeed mithilfe von Pandas

Wenn Sie unter Verwendung von Python auf den Änderungsdatenfeed für eine freigegebene Tabelle in Pandas zugreifen möchten, führen Sie Folgendes aus, und ersetzen Sie dabei die Variablen wie folgt. Die Verfügbarkeit eines Änderungsdatenfeeds hängt davon ab, ob der Datenanbieter den Änderungsdatenfeed für die Tabelle freigegeben hat.

  • <starting-version>: Optional. Die Startversion der Abfrage (einschließlich).
  • <ending-version>: Optional. Die Endversion der Abfrage (einschließlich).
  • <starting-timestamp>: Optional. Der Startzeitstempel der Abfrage. Wird in eine Version konvertiert, die frühestens zu diesem Zeitstempel erstellt wurde.
  • <ending-timestamp>: Optional. Der Endzeitstempel der Abfrage. Wird in eine Version konvertiert, die spätestens zu diesem Zeitstempel erstellt wurde.
import delta_sharing
delta_sharing.load_table_changes_as_pandas(
  f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_version=<starting-version>,
  ending_version=<starting-version>)

delta_sharing.load_table_changes_as_pandas(
  f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_timestamp=<starting-timestamp>,
  ending_timestamp=<ending-timestamp>)

Wenn die Ausgabe leer ist oder nicht die erwarteten Daten enthält, wenden Sie sich an den Datenanbieter.

Power BI: Lesen freigegebener Daten

Mit dem Delta Sharing-Connector für Power BI können Sie über das offene Delta Sharing-Protokoll für Sie freigegebene Datasets entdecken, analysieren und visualisieren.

Anforderungen

Herstellen einer Verbindung mit Databricks

Führen Sie die folgenden Schritte aus, um über den Delta Sharing-Connector eine Verbindung mit Azure Databricks herzustellen:

  1. Öffnen Sie die bereitgestellte Anmeldeinformationsdatei in einem Text-Editor, um die Endpunkt-URL und das Token zu erhalten.
  2. Öffnen Sie Power BI Desktop.
  3. Suchen Sie im Menü Daten abrufen nach Delta Sharing.
  4. Wählen Sie den Connector aus, und klicken Sie auf Verbinden.
  5. Fügen Sie die Endpunkt-URL, die Sie aus der Datei mit den Anmeldeinformationen kopiert haben, in das Feld URL des Delta Sharing-Servers ein.
  6. Optional können Sie auf der Registerkarte Erweiterte Optionen ein Zeilenlimit für die maximale Anzahl der Zeilen festlegen, die heruntergeladen werden kann. Der Standardwert liegt bei 1 Million Zeilen.
  7. Klicken Sie auf OK.
  8. Fügen Sie für die Authentifizierung das Token, das Sie aus der Datei mit den Anmeldeinformationen abgerufen haben, in das Feld Bearertoken ein.
  9. Klicken Sie auf Verbinden.

Einschränkungen beim Delta Sharing-Connector für Power BI

Für den Delta Sharing-Connector für Power BI gelten folgende Einschränkungen:

  • Die vom Connector geladenen Daten müssen in den Arbeitsspeicher Ihres Computers passen. Um das zu gewährleisten, beschränkt der Connector die Anzahl importierter Zeilen auf das Zeilenlimit, das Sie in Power BI Desktop auf der Registerkarte „Erweiterte Optionen“ festgelegt haben.

Anfordern neuer Anmeldeinformationen

Wenn die URL zur Aktivierung Ihrer Anmeldeinformationen oder Ihre heruntergeladenen Anmeldeinformationen verloren gehen, beschädigt oder kompromittiert werden oder Ihre Anmeldeinformationen ablaufen, ohne dass Ihr Anbieter Ihnen neue Anmeldeinformationen übermittelt, wenden Sie sich an Ihren Anbieter, um neue Anmeldeinformationen anzufordern.