Sdílet prostřednictvím


Načtení sdílených tabulek při sdílení Delta pomocí datových rámců Apache Spark

Tento článek obsahuje příklady syntaxe použití Apache Sparku k dotazování na data sdílená pomocí rozdílového sdílení. 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 Delta Sharing 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 rozdílového sdílení v Azure Databricks a dotazování dat pomocí názvů sdílených tabulek najdete v tématu Čtení dat sdílených pomocí sdílení Databricks-to-Databricks Delta Sharing (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 datový kanál změn použít při čtení sdílené složky Delta se strukturovaným streamováním nebo dávkovými operacemi. Viz Použití datového kanálu změn Delta Lake v Azure Databricks.

Čtení pomocí klíčového slova formátu Rozdílové sdílení

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 Delta Sharing

U tabulek s povolenou historií a změnou datového kanálu můžete číst záznamy datového kanálu změn 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 delta 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>")
)