Katalog

Kullanıcı odaklı katalog API'sini kullanarak SparkSession.catalogerişilebilir. Bu, Scala uygulaması org.apache.spark.sql.catalog.Catalogetrafında ince bir sarmalayıcıdır.

Sözdizimi

# Access through SparkSession
spark.catalog

Methods

Yöntem Açıklama
currentCatalog() Bu oturumdaki geçerli varsayılan kataloğu döndürür.
setCurrentCatalog(catalogName) Bu oturumdaki geçerli varsayılan kataloğu ayarlar.
listCatalogs(pattern) Bu oturumdaki katalogların listesini döndürür.
currentDatabase() Bu oturumdaki geçerli varsayılan veritabanını döndürür.
setCurrentDatabase(dbName) Bu oturumdaki geçerli varsayılan veritabanını ayarlar.
listDatabases(pattern) Tüm oturumlarda kullanılabilen veritabanlarının listesini döndürür.
getDatabase(dbName) Belirtilen ada sahip veritabanını alır. Veritabanı bulunamadığında AnalysisException oluşturur.
databaseExists(dbName) Belirtilen ada sahip veritabanının mevcut olup olmadığını denetler.
listTables(dbName, pattern) Belirtilen veritabanındaki tabloların ve görünümlerin listesini döndürür. Tüm geçici görünümleri içerir.
getTable(tableName) Belirtilen ada sahip tabloyu veya görünümü alır. Tablo bulunamadığında AnalysisException oluşturur.
tableExists(tableName, dbName) Belirtilen ada sahip tablonun veya görünümün mevcut olup olmadığını denetler.
listColumns(tableName, dbName) Belirtilen veritabanında verilen tablo veya görünüm için sütunların listesini döndürür.
listFunctions(dbName, pattern) Belirtilen veritabanında kayıtlı işlevlerin listesini döndürür. Tüm geçici işlevleri içerir.
functionExists(functionName, dbName) Belirtilen ada sahip işlevin mevcut olup olmadığını denetler. Geçici işlevleri içerir.
getFunction(functionName) belirtilen ada sahip işlevi alır. İşlev bulunamadığında AnalysisException oluşturur.
createTable(tableName, path, source, schema, description, **options) Veri kaynağındaki veri kümesini temel alan bir tablo oluşturur ve ilişkili DataFrame'i döndürür.
dropTempView(viewName) Verilen ada sahip yerel geçici görünümü bırakır. Ayrıca, önbelleğe alınmışsa görünümün işaretini kaldırır.
dropGlobalTempView(viewName) Verilen ada sahip genel geçici görünümü bırakır. Ayrıca, önbelleğe alınmışsa görünümün işaretini kaldırır.
isCached(tableName) Tablo şu anda bellek içinde önbelleğe alınmışsa true döndürür.
cacheTable(tableName, storageLevel) Belirtilen tabloyu bellek içinde veya belirtilen depolama düzeyiyle önbelleğe alır. Varsayılan olarak MEMORY_AND_DISK.
uncacheTable(tableName) Belirtilen tabloyu bellek içi önbellekten kaldırır.
clearCache() Önbelleğe alınan tüm tabloları bellek içi önbellekten kaldırır.
refreshTable(tableName) Verilen tablonun önbelleğe alınmış tüm verilerini ve meta verilerini geçersiz kılıp yeniler.
recoverPartitions(tableName) Verilen tablonun tüm bölümlerini kurtarır ve kataloğu güncelleştirir. Yalnızca bölümlenmiş tablolarla çalışır.
refreshByPath(path) Verilen veri kaynağı yolunu içeren tüm DataFrame için önbelleğe alınmış tüm verileri ve meta verileri geçersiz kılıp yeniler.

Örnekler

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