Exemples de code : Apache Spark™¶
Cette section fournit des exemples de code pour l’utilisation d’Apache Spark™ pour effectuer les tâches suivantes dans Snowflake Open Catalog :
Configuration d’une connexion de service
Utiliser un catalogue
Répertorier les catalogues
Répertorier les espaces de noms
Création d’un espace de noms
Utiliser un espace de noms
Supprimer un espace de noms
Créer une table
Interroger une table
Afficher les propriétés de la table
Répertorier les tables
Détruire une table
Privilèges requis¶
Pour exécuter les commandes incluses dans les exemples de code, les privilèges suivants doivent être accordés au principal de service que vous utilisez pour connecter Spark à Open Catalog :
Commande |
Privilège requis |
---|---|
Afficher les espaces de noms |
NAMESPACE_LIST |
Créer des espaces de noms |
NAMESPACE_CREATE |
Utiliser l’espace de noms |
NAMESPACE_READ_PROPERTIES |
Afficher les tables |
TABLE_LIST |
Créer ou remplacer la table |
|
Détruire l’espace de noms |
NAMESPACE_DROP |
Détruire une table |
TABLE_DROP |
Insérer dans la table |
TABLE_WRITE_DATA |
Sélectionner à partir de la table |
TABLE_READ_DATA |
Configuration d’une connexion de service¶
Voir Exemples de configuration d’une connexion de service dans Spark.
Utiliser le catalogue¶
Utiliser le catalogue catalog1
:
spark.sql("use catalog1").show()
Répertorier les catalogues¶
Répertorier les catalogues auxquels vous êtes connecté :
spark.sql("show catalogs").show()
Répertorier les espaces de noms¶
Répertorier les espaces de noms du catalogue auquel vous êtes connecté :
spark.sql("show namespaces").show()
Création d’un espace de noms¶
Créer l’espace de noms namespace1
:
spark.sql("CREATE NAMESPACE namespace1")
Utiliser un espace de noms¶
Utiliser l’espace de noms namespace1
:
spark.sql("use namespace1").show()
Supprimer un espace de noms¶
Supprimer l’espace de noms namespace1
du catalogue :
spark.sql("DROP NAMESPACE namespace1")
Créer une table¶
Créer une table customers
sous l’espace de noms parent namespace1
:
spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")
Interroger une table¶
Interroger la table customers
:
spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()
Afficher les propriétés de la table¶
Afficher les propriétés de la table pour la table customers
:
spark.sql("SHOW TBLPROPERTIES customers").show(50, False)
Répertorier les tables¶
Répertorier les tables du catalogue auquel vous êtes connecté :
spark.sql("show tables").show()
Détruire une table¶
Supprimer la table customers
sous l’espace de noms parent namespace1
:
spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")