Udostępnij za pośrednictwem


Odczytywanie udostępnionego tables w ramach 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żesz także tworzyć zapytania, które używają współdzielonych nazw table w usłudze Delta Sharing catalogs zarejestrowanych w magazynie metadanych, takie jak w poniższych przykładach:

SQL

SELECT * FROM shared_table_name

Python

spark.read.table("shared_table_name")

Aby uzyskać więcej informacji na temat konfigurowania udostępniania Delta w Azure Databricks i wykonywania zapytań dotyczących danych przy użyciu udostępnionych nazw table, zobacz Odczytywanie danych udostępnionych za pomocą udostępniania Delta w Databricks (w przypadku recipients).

Można użyć Strukturalnego Przesyłania Strumieniowego do przyrostowego przetwarzania rekordów w udostępnionych tables. Aby używać Structured Streaming, musisz włączyć udostępnianie historii dla table. Zobacz ALTER SHARE. Udostępnianie historii wymaga środowiska Databricks Runtime 12.2 LTS lub nowszego.

Jeśli udostępniony table ma włączony kanał danych zmian na źródłowym table i historia jest włączona w udziale, możesz używać kanału danych zmian podczas odczytywania udziału Delta za pomocą strumieniowania o strukturze 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>")
)

Odczytuj strumień danych o zmianach dla udostępnionej usługi Delta Sharing tables

W przypadku tables ze współdzieloną historią i włączonym strumieniem danych zmian można odczytywać rekordy strumienia danych zmian 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>")
)

Odczytaj udostępnione Delta Sharing tables przy użyciu strukturalnego przesyłania strumieniowego

W przypadku tables, które mają udostępnioną historię, możesz użyć udostępnionego table jako źródła dla 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>")
)