Odczytywanie danych udostępnionych przy użyciu udostępniania otwartego udostępniania usługi Delta (dla adresatów)

W tym artykule opisano sposób odczytywania danych, które zostały Ci udostępnione przy użyciu protokołu udostępniania otwartego udostępniania różnicowego. W otwartym udostępnianiu użyjesz pliku poświadczeń udostępnionego członkowi zespołu przez dostawcę danych, aby uzyskać bezpieczny dostęp do odczytu do udostępnionych danych. Dostęp utrzymuje się tak długo, jak poświadczenia są prawidłowe, a dostawca nadal udostępnia dane. Dostawcy zarządzają wygaśnięciem i rotacją poświadczeń. Aktualizacje danych są dostępne niemal w czasie rzeczywistym. Możesz odczytywać i tworzyć kopie udostępnionych danych, ale nie można modyfikować danych źródłowych.

Uwaga

Jeśli dane zostały Ci udostępnione przy użyciu funkcji udostępniania różnicowego usługi Databricks do usługi Databricks, nie potrzebujesz pliku poświadczeń, aby uzyskać dostęp do danych, a ten artykuł nie dotyczy Ciebie. Aby uzyskać instrukcje, zobacz Read data shared using Databricks-to-Databricks Delta Sharing (for recipients)( Odczyt danych udostępnionych przy użyciu funkcji udostępniania różnicowego usługi Databricks (dla adresatów).

W poniższych sekcjach opisano, jak używać usług Azure Databricks, Apache Spark, pandas i Power BI do uzyskiwania dostępu do udostępnionych danych i odczytywania ich przy użyciu pliku poświadczeń. Aby uzyskać pełną listę łączników usługi Delta Sharing i informacje o sposobie ich używania, zobacz dokumentację typu open source udostępniania różnicowego. Jeśli wystąpi problem z uzyskaniem dostępu do udostępnionych danych, skontaktuj się z dostawcą danych.

Uwaga

Integracje partnerów są, o ile nie określono inaczej, udostępniane przez osoby trzecie i musisz mieć konto z odpowiednim dostawcą do korzystania z ich produktów i usług. Podczas gdy usługa Databricks jest najlepszym rozwiązaniem, aby zachować aktualność zawartości, nie będziemy składać żadnych oświadczeń dotyczących integracji ani dokładności zawartości na stronach integracji partnerów. Skontaktuj się z odpowiednimi dostawcami w kwestiach dotyczących integracji.

Zanim rozpoczniesz

Członek zespołu musi pobrać plik poświadczeń udostępniony przez dostawcę danych. Zobacz Uzyskiwanie dostępu w modelu otwierania udostępniania.

Powinny one używać bezpiecznego kanału do udostępniania ci tego pliku lub lokalizacji pliku.

Azure Databricks: odczytywanie udostępnionych danych przy użyciu łączników otwierania udostępniania

W tej sekcji opisano sposób używania otwartego łącznika udostępniania do uzyskiwania dostępu do danych udostępnionych przy użyciu notesu w obszarze roboczym usługi Azure Databricks. Ty lub inny członek zespołu przechowujesz plik poświadczeń w systemie plików DBFS, a następnie używasz go do uwierzytelniania na koncie usługi Azure Databricks dostawcy danych i odczytywania danych udostępnionych przez dostawcę danych.

Uwaga

Jeśli dostawca danych korzysta z udostępniania usługi Databricks do usługi Databricks i nie udostępnia ci pliku poświadczeń, musisz uzyskać dostęp do danych przy użyciu usługi Unity Catalog. Aby uzyskać instrukcje, zobacz Read data shared using Databricks-to-Databricks Delta Sharing (for recipients)( Odczyt danych udostępnionych przy użyciu funkcji udostępniania różnicowego usługi Databricks (dla adresatów).

W tym przykładzie utworzysz notes z wieloma komórkami, które można uruchomić niezależnie. Zamiast tego można dodać polecenia notesu do tej samej komórki i uruchomić je w sekwencji.

Krok 1. Przechowywanie pliku poświadczeń w systemie plików DBFS (instrukcje języka Python)

W tym kroku użyjesz notesu języka Python w usłudze Azure Databricks do przechowywania pliku poświadczeń, aby użytkownicy w zespole mogli uzyskiwać dostęp do udostępnionych danych.

Przejdź do następnego kroku, jeśli ty lub ktoś w twoim zespole już przechowywał plik poświadczeń w systemie plików DBFS.

  1. W edytorze tekstów otwórz plik poświadczeń.

  2. W obszarze roboczym usługi Azure Databricks kliknij pozycję Nowy > notes.

    • Wprowadź nazwę.
    • Ustaw domyślny język notesu na Python.
    • Wybierz klaster, który ma zostać dołączony do notesu.
    • Kliknij pozycję Utwórz.

    Notes zostanie otwarty w edytorze notesów.

  3. Aby uzyskać dostęp do udostępnionych danych przy użyciu języka Python lub biblioteki pandas, zainstaluj łącznik języka Python do udostępniania różnicowego. W edytorze notesów wklej następujące polecenie:

    %sh pip install delta-sharing
    
  4. Uruchom komórkę.

    Biblioteka delta-sharing języka Python zostanie zainstalowana w klastrze, jeśli nie została jeszcze zainstalowana.

  5. W nowej komórce wklej następujące polecenie, które przekazuje zawartość pliku poświadczeń do folderu w systemie plików DBFS. Zastąp zmienne w następujący sposób:

    • <dbfs-path>: ścieżka do folderu, w którym chcesz zapisać plik poświadczeń

    • <credential-file-contents>: zawartość pliku poświadczeń. Nie jest to ścieżka do pliku, ale skopiowana zawartość pliku.

      Plik poświadczeń zawiera kod JSON, który definiuje trzy pola: shareCredentialsVersion, endpointi bearerToken.

      %scala
      dbutils.fs.put("<dbfs-path>/config.share","""
      <credential-file-contents>
      """)
      
  6. Uruchom komórkę.

    Po przekazaniu pliku poświadczeń można usunąć tę komórkę. Wszyscy użytkownicy obszaru roboczego mogą odczytywać plik poświadczeń z systemu plików DBFS, a plik poświadczeń jest dostępny w systemie plików DBFS we wszystkich klastrach i magazynach SQL w obszarze roboczym. Aby usunąć komórkę, kliknij przycisk x w menu Akcje komórki akcji komórki po prawej stronie.

Krok 2. Używanie notesu do wyświetlania listy i odczytywania tabel udostępnionych

W tym kroku wyświetlisz listę tabel w udziale lub zestaw udostępnionych tabel i partycji, a następnie wykonasz zapytanie dotyczące tabeli.

  1. Za pomocą języka Python wyświetl listę tabel w udziale.

    W nowej komórce wklej następujące polecenie. Zastąp <dbfs-path> ciąg ścieżką utworzoną w kroku 1: Zapisz plik poświadczeń w systemie plików DBFS (instrukcje języka Python).

    Po uruchomieniu kodu język Python odczytuje plik poświadczeń z systemu plików DBFS w klastrze. Uzyskaj dostęp do danych przechowywanych w systemie plików DBFS w ścieżce /dbfs/.

    import delta_sharing
    
    client = delta_sharing.SharingClient(f"/dbfs/<dbfs-path>/config.share")
    
    client.list_all_tables()
    
  2. Uruchom komórkę.

    Wynik jest tablicą tabel wraz z metadanymi dla każdej tabeli. Następujące dane wyjściowe zawierają dwie tabele:

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

    Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych tabel, skontaktuj się z dostawcą danych.

  3. Wykonywanie zapytań względem udostępnionej tabeli.

    • Używanie języka Scala:

      W nowej komórce wklej następujące polecenie. Po uruchomieniu kodu plik poświadczeń jest odczytywany z systemu plików DBFS za pośrednictwem maszyny JVM.

      Zastąp zmienne w następujący sposób:

      • <profile-path>: ścieżka dbFS pliku poświadczeń. Na przykład /<dbfs-path>/config.share.
      • <share-name>: wartość share= tabeli.
      • <schema-name>: wartość schema= tabeli.
      • <table-name>: wartość name= tabeli.
      %scala
          spark.read.format("deltaSharing")
          .load("<profile-path>#<share-name>.<schema-name>.<table-name>").limit(10);
      

      Uruchom komórkę. Za każdym razem, gdy załadujesz udostępnioną tabelę, zobaczysz nowe dane ze źródła.

    • Korzystanie z języka SQL:

      Aby wykonać zapytanie dotyczące danych przy użyciu języka SQL, należy utworzyć tabelę lokalną w obszarze roboczym z tabeli udostępnionej, a następnie wykonać zapytanie względem tabeli lokalnej. Dane udostępnione nie są przechowywane ani buforowane w tabeli lokalnej. Za każdym razem, gdy wysyłasz zapytanie do tabeli lokalnej, zobaczysz bieżący stan udostępnionych danych.

      W nowej komórce wklej następujące polecenie.

      Zastąp zmienne w następujący sposób:

      • <local-table-name>: nazwa tabeli lokalnej.
      • <profile-path>: lokalizacja pliku poświadczeń.
      • <share-name>: wartość share= tabeli.
      • <schema-name>: wartość schema= tabeli.
      • <table-name>: wartość name= tabeli.
      %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;
      

      Po uruchomieniu polecenia dane udostępnione są wykonywane bezpośrednio. W przypadku testu tabela jest odpytywana i zwracane są pierwsze 10 wyników.

    Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych danych, skontaktuj się z dostawcą danych.

Apache Spark: odczytywanie udostępnionych danych

Wykonaj następujące kroki, aby uzyskać dostęp do udostępnionych danych przy użyciu platformy Spark 3.x lub nowszej.

W tych instrukcjach przyjęto założenie, że masz dostęp do pliku poświadczeń udostępnionego przez dostawcę danych. Zobacz Uzyskiwanie dostępu w modelu otwierania udostępniania.

Instalowanie łączników usługi Delta Sharing Python i Spark

Aby uzyskać dostęp do metadanych powiązanych z udostępnionymi danymi, takimi jak lista tabel udostępnionych Tobie, wykonaj następujące czynności. W tym przykładzie użyto języka Python.

  1. Zainstaluj łącznik języka Python do udostępniania różnicowego:

    pip install delta-sharing
    
  2. Zainstaluj łącznik platformy Apache Spark.

Wyświetlanie listy udostępnionych tabel przy użyciu platformy Spark

Wyświetl listę tabel w udziale. W poniższym przykładzie zastąp element <profile-path> lokalizacją pliku poświadczeń.

import delta_sharing

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

client.list_all_tables()

Wynik jest tablicą tabel wraz z metadanymi dla każdej tabeli. Następujące dane wyjściowe zawierają dwie tabele:

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

Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych tabel, skontaktuj się z dostawcą danych.

Uzyskiwanie dostępu do udostępnionych danych przy użyciu platformy Spark

Uruchom następujące polecenie, zastępując następujące zmienne:

  • <profile-path>: lokalizacja pliku poświadczeń.
  • <share-name>: wartość share= tabeli.
  • <schema-name>: wartość schema= tabeli.
  • <table-name>: wartość name= tabeli.
  • <version-as-of>:Opcjonalne. Wersja tabeli do załadowania danych. Działa tylko wtedy, gdy dostawca danych udostępnia historię tabeli. Wymaga delta-sharing-spark wersji 0.5.0 lub nowszej.
  • <timestamp-as-of>:Opcjonalne. Załaduj dane w wersji przed lub w danym znaczniku czasu. Działa tylko wtedy, gdy dostawca danych udostępnia historię tabeli. Wymaga delta-sharing-spark wersji 0.6.0 lub nowszej.

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

Uruchom następujące polecenie, zastępując następujące zmienne:

  • <profile-path>: lokalizacja pliku poświadczeń.
  • <share-name>: wartość share= tabeli.
  • <schema-name>: wartość schema= tabeli.
  • <table-name>: wartość name= tabeli.
  • <version-as-of>:Opcjonalne. Wersja tabeli do załadowania danych. Działa tylko wtedy, gdy dostawca danych udostępnia historię tabeli. Wymaga delta-sharing-spark wersji 0.5.0 lub nowszej.
  • <timestamp-as-of>:Opcjonalne. Załaduj dane w wersji przed lub w danym znaczniku czasu. Działa tylko wtedy, gdy dostawca danych udostępnia historię tabeli. Wymaga delta-sharing-spark wersji 0.6.0 lub nowszej.
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)

Uzyskiwanie dostępu do udostępnionego źródła danych zmian przy użyciu platformy Spark

Jeśli historia tabeli została Ci udostępniona, a źródło danych zmian (CDF) jest włączone w tabeli źródłowej, możesz uzyskać dostęp do zestawienia zmian danych, uruchamiając następujące polecenie, zastępując te zmienne. Wymaga delta-sharing-spark wersji 0.5.0 lub nowszej.

Należy podać jeden i tylko jeden parametr początkowy.

  • <profile-path>: lokalizacja pliku poświadczeń.
  • <share-name>: wartość share= tabeli.
  • <schema-name>: wartość schema= tabeli.
  • <table-name>: wartość name= tabeli.
  • <starting-version>:Opcjonalne. Początkowa wersja zapytania, włącznie. Określ jako długi.
  • <ending-version>:Opcjonalne. Końcowa wersja zapytania, włącznie. Jeśli nie podano wersji końcowej, interfejs API używa najnowszej wersji tabeli.
  • <starting-timestamp>:Opcjonalne. Sygnatura czasowa początkowa zapytania jest konwertowana na wersję utworzoną wyższą lub równą tej sygnaturze czasowej. Określ jako ciąg w formacie yyyy-mm-dd hh:mm:ss[.fffffffff].
  • <ending-timestamp>:Opcjonalne. Znacznik czasu zakończenia zapytania jest konwertowany na wersję utworzoną wcześniej lub równą tej sygnaturze czasowej. Określ jako ciąg w formacie yyyy-mm-dd hh:mm:ss[.fffffffff]

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>")

Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych danych, skontaktuj się z dostawcą danych.

Uzyskiwanie dostępu do udostępnionej tabeli przy użyciu przesyłania strumieniowego ze strukturą platformy Spark

Jeśli historia tabeli zostanie Ci udostępniona, możesz przesłać strumieniowo dane udostępnione. Wymaga delta-sharing-spark wersji 0.6.0 lub nowszej.

Obsługiwane opcje:

  • ignoreDeletes: Ignoruj transakcje, które usuwają dane.
  • ignoreChanges: Ponowne przetwarzanie aktualizacji, jeśli pliki zostały przepisane w tabeli źródłowej z powodu operacji zmiany danych, takiej jak UPDATE, , MERGE INTODELETE (w partycjach) lub OVERWRITE. Nadal można emitować niezmienione wiersze. W związku z tym odbiorcy podrzędni powinni mieć możliwość obsługi duplikatów. Usunięcia nie są propagowane w dół. ignoreChanges obejmuje ignoreDeletes. W związku z tym, jeśli używasz ignoreChangesusługi , strumień nie zostanie zakłócony przez usunięcia lub aktualizacje tabeli źródłowej.
  • startingVersion: udostępniona wersja tabeli do uruchomienia. Wszystkie zmiany tabeli rozpoczynające się od tej wersji (włącznie) będą odczytywane przez źródło przesyłania strumieniowego.
  • startingTimestamp: znacznik czasu do rozpoczęcia od. Wszystkie zmiany tabeli zatwierdzone w godzinie lub po znaczniku czasu (włącznie) będą odczytywane przez źródło przesyłania strumieniowego. Przykład: "2023-01-01 00:00:00.0".
  • maxFilesPerTrigger: liczba nowych plików, które mają być uwzględniane w każdej mikrosadowej partii.
  • maxBytesPerTrigger: ilość danych przetwarzanych w każdej mikrosadowej partii. Ta opcja ustawia wartość "nietrwałą maksymalną", co oznacza, że partia przetwarza w przybliżeniu tę ilość danych i może przetwarzać więcej niż limit, aby zapytanie przesyłane strumieniowo przechodziło do przodu w przypadkach, gdy najmniejsza jednostka wejściowa jest większa niż ten limit.
  • readChangeFeed: Strumień odczytuje zestawienie danych zmian w udostępnionej tabeli.

Nieobsługiwane opcje:

  • Trigger.availableNow

Przykładowe zapytania przesyłania strumieniowego ze strukturą

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>")

Zobacz również Przesyłanie strumieniowe w usłudze Azure Databricks.

Odczytywanie tabel z włączonymi wektorami usuwania lub mapowaniem kolumn

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Wektory usuwania to funkcja optymalizacji magazynu, którą dostawca może włączyć w udostępnionych tabelach delty. Zobacz Co to są wektory usuwania?.

Usługa Azure Databricks obsługuje również mapowanie kolumn dla tabel delty. Zobacz Zmienianie nazwy i usuwanie kolumn za pomocą mapowania kolumn usługi Delta Lake.

Jeśli dostawca udostępnił tabelę z włączonymi wektorami usuwania lub mapowaniem kolumn, możesz odczytać tabelę przy użyciu obliczeń z systemem delta-sharing-spark 3.1 lub nowszym. Jeśli używasz klastrów usługi Databricks, możesz wykonać operacje odczytu wsadowego przy użyciu klastra z uruchomionym środowiskiem Databricks Runtime 14.1 lub nowszym. Zapytania CDF i przesyłania strumieniowego wymagają środowiska Databricks Runtime 14.2 lub nowszego.

Zapytania wsadowe można wykonywać w stanie rzeczywistym, ponieważ mogą one automatycznie rozwiązywać problemy responseFormat na podstawie funkcji tabeli udostępnionej tabeli.

Aby odczytać zestawienie danych zmian (CDF) lub wykonać zapytania przesyłane strumieniowo na udostępnionych tabelach z włączonymi wektorami usuwania lub mapowaniem kolumn, należy ustawić dodatkową opcję responseFormat=delta.

W poniższych przykładach pokazano zapytania wsadowe, CDF i streamingowe:

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: odczytywanie udostępnionych danych

Wykonaj następujące kroki, aby uzyskać dostęp do udostępnionych danych w bibliotece pandas 0.25.3 lub nowszej.

W tych instrukcjach przyjęto założenie, że masz dostęp do pliku poświadczeń udostępnionego przez dostawcę danych. Zobacz Uzyskiwanie dostępu w modelu otwierania udostępniania.

Instalowanie łącznika delta sharing języka Python

Aby uzyskać dostęp do metadanych powiązanych z udostępnionymi danymi, takimi jak lista tabel udostępnionych Tobie, musisz zainstalować łącznik języka Python do udostępniania różnicowego.

pip install delta-sharing

Wyświetlanie listy udostępnionych tabel przy użyciu biblioteki pandas

Aby wyświetlić listę tabel w udziale, uruchom następujące polecenie, zastępując <profile-path>/config.share element lokalizacją pliku poświadczeń.

import delta_sharing

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

client.list_all_tables()

Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych tabel, skontaktuj się z dostawcą danych.

Uzyskiwanie dostępu do udostępnionych danych przy użyciu biblioteki pandas

Aby uzyskać dostęp do udostępnionych danych w bibliotece pandas przy użyciu języka Python, uruchom następujące polecenie, zastępując zmienne w następujący sposób:

  • <profile-path>: lokalizacja pliku poświadczeń.
  • <share-name>: wartość share= tabeli.
  • <schema-name>: wartość schema= tabeli.
  • <table-name>: wartość name= tabeli.
import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")

Uzyskiwanie dostępu do udostępnionego źródła danych zmian przy użyciu biblioteki pandas

Aby uzyskać dostęp do zestawienia danych zmian dla udostępnionej tabeli w bibliotece pandas przy użyciu języka Python, uruchom następujące polecenie, zastępując zmienne w następujący sposób. Źródło danych zmian może być niedostępne, w zależności od tego, czy dostawca danych udostępnił zestawienie danych zmian dla tabeli.

  • <starting-version>:Opcjonalne. Początkowa wersja zapytania, włącznie.
  • <ending-version>:Opcjonalne. Końcowa wersja zapytania, włącznie.
  • <starting-timestamp>:Opcjonalne. Znacznik czasu rozpoczęcia zapytania. Jest to konwertowane na wersję utworzoną wyższą lub równą tej sygnaturze czasowej.
  • <ending-timestamp>:Opcjonalne. Znacznik czasu zakończenia zapytania. Jest to konwertowane na wersję utworzoną wcześniej lub równą tej sygnaturze czasowej.
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>)

Jeśli dane wyjściowe są puste lub nie zawierają oczekiwanych danych, skontaktuj się z dostawcą danych.

Power BI: odczytywanie udostępnionych danych

Łącznik udostępniania różnicowego usługi Power BI umożliwia odnajdywanie, analizowanie i wizualizowanie udostępnionych ci zestawów danych za pośrednictwem otwartego protokołu udostępniania różnicowego.

Wymagania

  • Power BI Desktop 2.99.621.0 lub nowszy.
  • Dostęp do pliku poświadczeń udostępnionego przez dostawcę danych. Zobacz Uzyskiwanie dostępu w modelu otwierania udostępniania.

Połączenie do usługi Databricks

Aby nawiązać połączenie z usługą Azure Databricks przy użyciu łącznika usługi Delta Sharing, wykonaj następujące czynności:

  1. Otwórz udostępniony plik poświadczeń z edytorem tekstów, aby pobrać adres URL punktu końcowego i token.
  2. Otwórz Power BI Desktop.
  3. W menu Pobierz dane wyszukaj pozycję Udostępnianie różnicowe.
  4. Wybierz łącznik i kliknij przycisk Połączenie.
  5. Wprowadź adres URL punktu końcowego skopiowany z pliku poświadczeń do pola Adres URL serwera udostępniania różnicowego.
  6. Opcjonalnie na karcie Opcje zaawansowane ustaw limit wierszy dla maksymalnej liczby wierszy, które można pobrać. Jest to domyślnie ustawione na 1 milion wierszy.
  7. Kliknij przycisk OK.
  8. W polu Uwierzytelnianie skopiuj token pobrany z pliku poświadczeń do tokenu elementu nośnego.
  9. Kliknij Połącz.

Ograniczenia łącznika udostępniania różnicowego usługi Power BI

Funkcja udostępniania różnicowego usługi Power BI Połączenie or ma następujące ograniczenia:

  • Dane ładowane przez łącznik muszą mieścić się w pamięci maszyny. Aby to zapewnić, łącznik ogranicza liczbę zaimportowanych wierszy do limitu wierszy ustawionego na karcie Opcje zaawansowane w programie Power BI Desktop.

Żądanie nowego poświadczenia

Jeśli adres URL aktywacji poświadczeń lub pobrane poświadczenia zostaną utracone, uszkodzone lub naruszone albo poświadczenie wygaśnie bez wysłania nowego przez dostawcę, skontaktuj się z dostawcą, aby zażądać nowego poświadczenia.