Lisez les tables partagées OpenSharing à l'aide des DataFrames Apache Spark
Cet article fournit des exemples de syntaxe pour l'utilisation d'Apache Spark afin d'interroger les données partagées à l'aide d'OpenSharing. Utilisez le mot-clé deltasharing comme option de format pour les opérations de DataFrame.
Autres options pour interroger les données partagées
Vous pouvez également créer des requêtes qui utilisent des noms de table partagés dans les catalogues OpenSharing enregistrés dans le métastore, comme ceux des exemples suivants :
- SQL
- Python
SELECT * FROM shared_table_name
spark.read.table("shared_table_name")
Pour en savoir plus sur la configuration d'OpenSharing dans Databricks et l'interrogation des données à l'aide de noms de tables partagées, consultez Lire les données partagées à l'aide de Databricks-to-Databricks OpenSharing (pour les destinataires).
Vous pouvez utiliser Structured Streaming pour traiter les enregistrements dans des tables partagées de manière incrémentielle. Pour utiliser Structured Streaming, vous devez activer le partage d'historique pour la table. See ALTER SHARE. Le partage d'historique nécessite Databricks Runtime 12.2 LTS ou une version ultérieure.
Si la table partagée a le flux de données de modification activé sur la table source Delta et l'historique activé sur le partage, vous pouvez utiliser le flux de données de modification lors de la lecture d'un partage OpenSharing avec Structured Streaming ou des opérations de batch. Consultez Utiliser le flux de données de modification sur Databricks.
Lire avec le mot-clé de format OpenSharing
Le mot-clé deltasharing est pris en charge pour les opérations de lecture de DataFrame Apache Spark, comme le montre l'exemple suivant :
df = (spark.read
.format("deltasharing")
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
)
Lire le flux de données de modification pour les tables partagées OpenSharing.
Pour les tables dont l'historique est partagé et le flux de données de modification est activé, vous pouvez lire les enregistrements du flux de données de modification à l'aide d'Apache Spark DataFrames. Le partage de l'historique nécessite 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 les tables partagées OpenSharing à l’aide de Structured Streaming.
Pour les tables dont l'historique est partagé, vous pouvez utiliser la table partagée comme source pour Structured Streaming. Le partage de l'historique nécessite 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>")
)