Établissez votre propre connexion
Aperçu
Delta Sharing est un protocole ouvert pour le partage sécurisé de temps réel données, permettant aux organisations de partager des données sur différentes plateformes informatiques. Ce guide vous guidera tout au long du processus de connexion et d’accès aux données via Delta Sharing.
Ressources
Options de connecteur de partage Delta
Connecteur Python
Connecteur Apache Spark
Configurer un shell interactif
Configurer un projet autonome
Connecteur Python
Le connecteur Python Delta Sharing est une bibliothèque Python qui implémente le protocole Delta Sharing pour lire les tables à partir d’un serveur Delta Sharing. Vous pouvez charger des tables partagées en tant que DataFrame pandas ou en tant que DataFrame Apache Spark si vous les exécutez dans PySpark avec le connecteur Apache Spark installé.
Configuration requise
Python 3.8+ pour le partage delta version 1.1+
Python 3.6+ pour les anciennes versions
Si vous utilisez Linux, glibc version >= 2.31
Pour l’installation automatique du lot delta-kernel-rust-sharing-wrapper, veuillez consulter la section suivante pour plus de détails.
Processus d’installation
Unset
pip3 install delta-sharing
Si vous utilisez Databricks Runtime, vous pouvez suivre la documentation des bibliothèques Databricks pour installer la bibliothèque sur vos clusters.
Si cela ne fonctionne pas en raison d’un problème de téléchargement de delta-kernel-rust-sharing-wrapper, essayez ce qui suit :
Vérifier python3 version >= 3.8
Mettez à niveau votre pip3 vers la dernière version
Accès aux données partagées
Le connecteur accède aux tables partagées en fonction des fichiers de profil, qui sont des fichiers JSON contenant les identifiants d’un utilisateur pour accéder à un serveur de partage Delta. Nous avons plusieurs façons de commencer :
Avant de commencer
Téléchargez un fichier de profil auprès de votre fournisseur de données.
Accès aux options de données partagées
Après avoir enregistré le fichier de profil, vous pouvez l’utiliser dans le connecteur pour accéder aux tables partagées.
Importer delta_sharing
Pointez sur le fichier de profil. Il peut s’agir d’un fichier sur le système de fichiers local ou d’un fichier sur un stockage distant.
profile_file = "<profile-file-path>"
Créez un SharingClient.
client = delta_sharing.SharingClient(profile_file)
Répertorier toutes les tables partagées.
client.list_all_tables()
Créez une url pour accéder à une table partagée.
Un chemin d’accès à une table est le chemin d’accès au fichier de profil suivi de # et du nom complet d’une table.
(`<share-name>.<schema-name>.<table-name>`).
table_url = profile_file + "#<share-name>.<schema-name>.<table-name>"
Récupérez 10 lignes d’une table et convertissez-la en DataFrame Pandas. Cela peut être utilisé pour lire des exemples de données à partir d’une table qui ne peut pas tenir dans la mémoire.
delta_sharing.load_as_pandas(table_url, limite=10)
Chargez une table en tant que DataFrame Pandas. Cela peut être utilisé pour traiter des tables qui peuvent tenir dans la mémoire.
delta_sharing.load_as_pandas(table_url)
Charger une table en tant que DataFrame Pandas explicitement à l’aide du format Delta
delta_sharing.load_as_pandas(table_url, use_delta_format = Vrai)
Si le code s’exécute avec PySpark, vous pouvez utiliser « load_as_spark» pour charger la table en tant que DataFrame Spark.
delta_sharing.load_as_spark(table_url)
Si la table prend en charge le partage de l’historique (tableConfig.cdfEnabled=true dans le serveur de partage Delta OSS), le connecteur peut interroger les modifications apportées à la table.
Charger les modifications de la table de la version 0 à la version 5, en tant que DataFrame Pandas.
delta_sharing.load_table_changes_as_pandas(table_url, starting_version=0, ending_version=5)
Si le code s’exécute avec PySpark, vous pouvez charge les modifications de table en tant que Spark DataFrame.
delta_sharing.load_table_changes_as_spark(table_url, starting_version=0, ending_version=5)
Connecteur Apache Spark
Le connecteur Apache Spark implémente le protocole de partage Delta pour lire les tables partagées à partir d’un serveur de partage Delta. Il peut être utilisé en SQL, Python, Java, Scala et R.
Configuration requise
Java 8+
Scala 2.12.x
Apache Spark 3+ ou Databricks Runtime 9+
Accès aux données partagées
Le connecteur charge utilisateur identifiants à partir de fichiers de profil.
Configuration d’Apache Spark
Vous pouvez configurer Apache Spark pour charger le connecteur Delta Sharing de l’une des deux manières suivantes :
Exécuter de manière interactive : démarrez le shell Spark (Scala ou Python) avec le connecteur Delta Sharing et exécutez les extraits de code de manière interactive dans le shell.
Exécuter en tant que projet : configurez un projet Maven ou SBT (Scala ou Java) avec le connecteur Delta Sharing, copiez les extraits de code dans un fichier source et exécutez le projet.
Si vous utilisez Databricks Runtime, vous pouvez ignorer cette section et suivre la documentation des bibliothèques Databricks pour installer le connecteur sur vos clusters.
Configurer un shell interactif
Pour utiliser le connecteur Delta Sharing de manière interactive dans le shell Scala/Python de Spark, vous pouvez lancer les shells comme suit.
Interpréteur de commandes PySpark
Unset
pyspark --packages io.delta:delta-sharing-spark_2.12:3.1.0
Coquille Scala
Unset
bin/spark-shell --packages
io.delta:delta-sharing-spark_2.12:3.1.0
Configurer un projet autonome
Si vous souhaitez créer un projet Java/Scala à l’aide du connecteur Delta Sharing du référentiel central Maven, vous pouvez utiliser les coordonnées Maven suivantes.
Maven
Vous pouvez inclure le connecteur Delta Sharing dans votre projet Maven en l’ajoutant en tant que dépendance dans votre fichier POM. Le connecteur Delta Sharing est compilé avec Scala 2.12.
<dependency>
<groupId>io.delta</groupId>
<artifactId>delta-sharing-spark_2.12</artifactId>
<version>3.1.0</version>
</dependency>