Lire des tables partagées Delta Sharing à l’aide de DataFrames Apache Spark
Cet article fournit des exemples de syntaxe d’utilisation d’Apache Spark pour interroger des partages de données à l’aide de Delta Sharing. Utilisez le mot clé deltasharing
comme option de format pour les opérations DataFrame.
Autres options d’interrogation de fichiers partagés
Vous pouvez également créer des requêtes qui utilisent des noms de tableaux partagés dans les catalogues Delta Sharing enregistrés dans le metastore, comme dans les exemples suivants :
SQL
SELECT * FROM shared_table_name
Python
spark.read.table("shared_table_name")
Pour plus d’informations sur la configuration de Delta Sharing dans Azure Databricks et l’interrogation de données à l’aide de noms de tableaux partagés, consultez Lire le partage de données à l’aide de Databricks Delta Sharing (pour les destinataires).
Vous pouvez utiliser le flux structuré pour traiter des enregistrements dans des tableaux partagés de manière incrémentielle. Pour utiliser le flux structuré, vous devez activer le partage d’historique pour le tableau. Consultez ALTER SHARE. Le partage d’historique requiert Databricks Runtime 12.2 LTS ou une version ultérieure.
Si le flux de données de modification est activé sur la table Delta source et que l’historique est activé sur le partage, vous pouvez utiliser le flux de données de modification lors de la lecture d’un Delta Sharing à l’aide d’un flux structuré ou d’opérations par lots. Consultez Utiliser le flux des changements de données Delta Lake sur Azure Databricks.
Lisez avec le mot clé de format de Delta Sharing
Le mot clé deltasharing
est pris en charge pour les opérations de lecture de DataFrame Apache Spark, comme illustré dans l’exemple suivant :
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Lisez le flux de données modifiées pour les tableaux partagés Delta Sharing
Pour les tableaux qui ont l’historique partagé et le flux de données modifiées activés, vous pouvez lire les enregistrements de flux de données modifiées à l’aide d’Apache Spark DataFrames. Le partage d’historique requiert Databricks Runtime 12.2 LTS ou une version ultérieure.
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>")
)
Lisez des tableaux partagés de Delta Sharing à l’aide du flux structuré
Pour les tables qui ont l’historique partagé, vous pouvez utiliser le tableau partagé comme source pour le flux structuré. Le partage d’historique requiert Databricks Runtime 12.2 LTS ou une version ultérieure.
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>")
)