Delta-megosztással megosztott táblák olvasása Apache Spark DataFrames használatával
Ez a cikk szintaxisbeli példákat tartalmaz arra, hogy az Apache Spark segítségével lekérdezhetők a Delta Sharing használatával megosztott adatok. Használja a deltasharing
kulcsszót formátumbeállításként a DataFrame-műveletekhez.
A megosztott adatok lekérdezésének egyéb lehetőségei
Olyan lekérdezéseket is létrehozhat, amelyek megosztott táblaneveket használnak a metaadattárban regisztrált Delta Sharing-katalógusokban, például az alábbi példákban:
SQL
SELECT * FROM shared_table_name
Python
spark.read.table("shared_table_name")
A Delta-megosztás Azure Databricksben való konfigurálásáról és az adatok megosztott táblanevek használatával történő lekérdezéséről további információt a Databricks-to-Databricks Delta Sharing használatával megosztott adatok olvasása (címzettek számára) című témakörben talál.
A strukturált streamelés használatával a megosztott táblák rekordjait növekményesen feldolgozhatja. A strukturált streamelés használatához engedélyeznie kell a tábla előzménymegosztását. Lásd: ALTER SHARE. Az előzmények megosztásához a Databricks Runtime 12.2 LTS vagy újabb verziója szükséges.
Ha a megosztott táblában engedélyezve van a változásadatcsatorna a forrás Delta táblában és a megosztáson engedélyezett előzményei között, akkor a változásadatcsatornát használhatja a Delta-megosztás strukturált streameléssel vagy kötegműveletekkel való olvasása során. Lásd: Delta Lake change data feed használata az Azure Databricksben.
Olvasás a Delta Sharing formátum kulcsszóval
A deltasharing
kulcsszó az Apache Spark DataFrame olvasási műveleteihez támogatott, ahogy az a következő példában is látható:
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Megosztott deltamegosztási táblák adatcsatornájának olvasása
Az olyan táblák esetében, amelyeken engedélyezve van az előzménymegosztás és az adatcsatorna módosítása, az Apache Spark DataFrames használatával olvashatja el a változásadatcsatorna rekordjait. Az előzmények megosztásához a Databricks Runtime 12.2 LTS vagy újabb verziója szükséges.
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>")
)
Megosztott deltamegosztási táblák olvasása strukturált streamelés használatával
A megosztott előzményeket tartalmazó táblák esetében a megosztott táblát használhatja a strukturált streamelés forrásaként. Az előzmények megosztásához a Databricks Runtime 12.2 LTS vagy újabb verziója szükséges.
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>")
)