Čtení sdílených tabulek OpenSharing pomocí datových rámců Apache Sparku

Tento článek obsahuje příklady syntaxe použití Apache Sparku k dotazování na data sdílená pomocí OpenSharingu. deltasharing Klíčové slovo použijte jako možnost formátu pro operace datového rámce.

Další možnosti pro dotazování sdílených dat

Můžete také vytvořit dotazy, které používají názvy sdílených tabulek v katalogech OpenSharing zaregistrovaných v metastoru, například v následujících příkladech:

SQL

SELECT * FROM shared_table_name

Python

spark.read.table("shared_table_name")

Další informace o konfiguraci openSharingu v Azure Databricks a dotazování dat pomocí názvů sdílených tabulek najdete v tématu Čtení dat sdílených pomocí Databricks-to-Databricks OpenSharing (pro příjemce).

Strukturované streamování můžete použít ke zpracování záznamů ve sdílených tabulkách přírůstkově. Pokud chcete používat strukturované streamování, musíte pro tabulku povolit sdílení historie. Viz ALTER SHARE. Sdílení historie vyžaduje Databricks Runtime 12.2 LTS nebo vyšší.

Pokud má sdílená tabulka povolený datový kanál změn ve zdrojové tabulce Delta a historii povolenou ve sdílené složce, můžete při čtení sdílené složky OpenSharing se strukturovaným streamováním nebo dávkovými operacemi použít datový kanál změn. Viz Použití informačního kanálu změn dat v Azure Databricks.

Číst pomocí klíčového slova formátu OpenSharing

Klíčové deltasharing slovo je podporováno pro operace čtení datového rámce Apache Spark, jak je znázorněno v následujícím příkladu:

df = (spark.read
  .format("deltasharing")
  .load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)

Čtení datového kanálu změn pro sdílené tabulky OpenSharing

U tabulek se sdílenou historií a povoleným tokem změnových dat můžete číst záznamy toku změnových dat pomocí datových rámců Apache Spark. Sdílení historie vyžaduje Databricks Runtime 12.2 LTS nebo vyšší.

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

Čtení sdílených tabulek OpenSharing pomocí strukturovaného streamování

U tabulek, které mají sdílenou historii, můžete sdílenou tabulku použít jako zdroj pro strukturované streamování. Sdílení historie vyžaduje Databricks Runtime 12.2 LTS nebo vyšší.

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