Čtení sdílených tabulek pomocí Delta Sharing a 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 Delta Sharing v Azure Databricks a načítání dat pomocí názvů sdílených tabulek najdete v tématu Načítání dat sdílených prostřednictvím 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 v rámci Delta Sharing
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í tabulek sdílených prostřednictvím Delta Sharing 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>")
)