Odczytywanie tabel udostępnionych za pomocą Delta Sharing przy użyciu ramek danych Apache Spark
W tym artykule przedstawiono przykłady składni użycia platformy Apache Spark do wykonywania zapytań dotyczących danych udostępnionych przy użyciu funkcji udostępniania różnicowego. Użyj słowa kluczowego deltasharing
jako opcji formatu dla operacji ramki danych.
Inne opcje wykonywania zapytań dotyczących udostępnionych danych
Można również tworzyć zapytania korzystające z nazw tabel udostępnionych w wykazach usługi Delta Sharing zarejestrowanych w magazynie metadanych, takich jak te w następujących przykładach:
SQL
SELECT * FROM shared_table_name
Python
spark.read.table("shared_table_name")
Aby uzyskać więcej informacji na temat konfigurowania Delta Sharing w usłudze Azure Databricks i wykonywania zapytań dotyczących danych przy użyciu udostępnionych nazw tabel, zapoznaj się z Odczyt danych udostępnionych przy użyciu Databricks-to-Databricks Delta Sharing (dla adresatów).
Za pomocą przesyłania strumieniowego ze strukturą można przetwarzać rekordy w tabelach udostępnionych przyrostowo. Aby użyć przesyłania strumieniowego ze strukturą, musisz włączyć udostępnianie historii dla tabeli. Zobacz ALTER SHARE. Udostępnianie historii wymaga środowiska Databricks Runtime 12.2 LTS lub nowszego.
Jeśli udostępniona tabela ma włączony mechanizm śledzenia zmian danych w źródłowej tabeli Delta i włączoną historię na udziale, możesz użyć tego mechanizmu podczas odczytywania udziału Delta za pomocą strumieniowania zorganizowanego lub operacji wsadowych. Zobacz Use Delta Lake change data feed on Azure Databricks (Używanie zestawienia zmian usługi Delta Lake w usłudze Azure Databricks).
Odczytywanie za pomocą słowa kluczowego Formatu udostępniania różnicowego
Słowo deltasharing
kluczowe jest obsługiwane w przypadku operacji odczytu ramki danych platformy Apache Spark, jak pokazano w poniższym przykładzie:
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Odczytywanie zestawienia zmian danych dla udostępnionych tabel usługi Delta Sharing
W przypadku tabel, które mają współdzieloną historię i włączoną funkcję zmiany danych, można odczytywać rekordy zmiany danych przy użyciu ramek danych platformy Apache Spark. Udostępnianie historii wymaga środowiska Databricks Runtime 12.2 LTS lub nowszego.
df = (spark.read
.format("deltasharing")
.option("readChangeFeed", "true")
.option("startingTimestamp", "2021-04-21 05:45:46")
.option("endingTimestamp", "2021-05-21 12:00:00")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Odczytywanie tabel współdzielonych za pomocą Delta Sharing przy użyciu strumieniowania strukturalnego
W przypadku tabel, które mają udostępnioną historię, możesz użyć tabeli udostępnionej jako źródła przesyłania strumieniowego ze strukturą. Udostępnianie historii wymaga środowiska Databricks Runtime 12.2 LTS lub nowszego.
streaming_df = (spark.readStream
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
# If CDF is enabled on the source table
streaming_cdf_df = (spark.readStream
.format("deltasharing")
.option("readChangeFeed", "true")
.option("startingTimestamp", "2021-04-21 05:45:46")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)