Partager via


Catalogue

API de catalogue accessible par l’utilisateur via SparkSession.catalog. Il s’agit d’un wrapper mince autour de son implémentation org.apache.spark.sql.catalog.CatalogScala.

Syntaxe

# Access through SparkSession
spark.catalog

Méthodes

Méthode Description
currentCatalog() Retourne le catalogue par défaut actuel dans cette session.
setCurrentCatalog(catalogName) Définit le catalogue par défaut actuel dans cette session.
listCatalogs(pattern) Retourne une liste de catalogues dans cette session.
currentDatabase() Retourne la base de données par défaut actuelle dans cette session.
setCurrentDatabase(dbName) Définit la base de données par défaut actuelle dans cette session.
listDatabases(pattern) Retourne une liste de bases de données disponibles dans toutes les sessions.
getDatabase(dbName) Obtient la base de données avec le nom spécifié. Lève une exception AnalysisException lorsque la base de données est introuvable.
databaseExists(dbName) Vérifie si la base de données portant le nom spécifié existe.
listTables(dbName, pattern) Retourne une liste de tables et de vues dans la base de données spécifiée. Inclut toutes les vues temporaires.
getTable(tableName) Obtient la table ou la vue avec le nom spécifié. Lève une exception AnalysisException lorsqu’aucune table n’est disponible.
tableExists(tableName, dbName) Vérifie si la table ou la vue portant le nom spécifié existe.
listColumns(tableName, dbName) Retourne une liste de colonnes pour la table ou la vue donnée dans la base de données spécifiée.
listFunctions(dbName, pattern) Retourne une liste de fonctions inscrites dans la base de données spécifiée. Inclut toutes les fonctions temporaires.
functionExists(functionName, dbName) Vérifie si la fonction portant le nom spécifié existe. Inclut des fonctions temporaires.
getFunction(functionName) Obtient la fonction avec le nom spécifié. Lève une exception AnalysisException lorsque la fonction est introuvable.
createTable(tableName, path, source, schema, description, **options) Crée une table basée sur le jeu de données dans une source de données et retourne le DataFrame associé.
dropTempView(viewName) Supprime la vue temporaire locale avec le nom donné. Annule également la mise en cache de la vue si elle a été mise en cache.
dropGlobalTempView(viewName) Supprime la vue temporaire globale avec le nom donné. Annule également la mise en cache de la vue si elle a été mise en cache.
isCached(tableName) Retourne true si la table est actuellement mise en cache en mémoire.
cacheTable(tableName, storageLevel) Met en cache la table spécifiée en mémoire ou avec le niveau de stockage donné. La valeur par défaut est MEMORY_AND_DISK.
uncacheTable(tableName) Supprime la table spécifiée du cache en mémoire.
clearCache() Supprime toutes les tables mises en cache du cache en mémoire.
refreshTable(tableName) Invalide et actualise toutes les données et métadonnées mises en cache de la table donnée.
recoverPartitions(tableName) Récupère toutes les partitions de la table donnée et met à jour le catalogue. Fonctionne uniquement avec les tables partitionnée.
refreshByPath(path) Invalide et actualise toutes les données et métadonnées mises en cache pour n’importe quel DataFrame contenant le chemin de source de données donné.

Exemples

spark.catalog.currentDatabase()
'default'
spark.catalog.listDatabases()
[Database(name='default', catalog='spark_catalog', description='default database', ...)]
_ = spark.sql("CREATE TABLE tbl1 (name STRING, age INT) USING parquet")
spark.catalog.tableExists("tbl1")
True
spark.catalog.cacheTable("tbl1")
spark.catalog.isCached("tbl1")
True
spark.catalog.uncacheTable("tbl1")
spark.catalog.isCached("tbl1")
False