Delta Sharing megosztott tables adatainak olvasása Apache Spark DataFrame-ek segítségével
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 a metaadattárban regisztrált, megosztott table neveket használnak a Delta Sharing catalogs-ben, 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 table nevek használatával történő lekérdezéséről további információt A Databricks-to-Databricks deltamegosztással megosztott adatok olvasása (recipients)című témakörben talál.
A strukturált streamelés használatával növekményesen feldolgozhatja a megosztott tables lévő rekordokat. A strukturált streaming használatához engedélyeznie kell az előzmények megosztását a tableeszközön. 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 table változásadatcsatornája engedélyezve van a forrás Delta table-en, és a megosztásban engedélyezettek az előzmények, akkor használhatja a változásadatcsatornát Delta-megosztás olvasásakor strukturált streaming vagy kötegelt műveletek 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>")
)
Delta Sharing megosztott változásadat-közvetítési tables olvasása
Azon tables 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-rekordokat. 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 Delta-megosztási tables olvasása strukturált streamelés használatával
Azoknál a tables-k esetében, amelyek megosztott előzményekkel rendelkeznek, a megosztott table-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>")
)