ユーザー向けカタログ API。 SparkSession.catalog経由でアクセスできます。 これは、Scala 実装 org.apache.spark.sql.catalog.Catalogのシン ラッパーです。
構文
# Access through SparkSession
spark.catalog
メソッド
| メソッド | 説明 |
|---|---|
currentCatalog() |
このセッションの現在の既定のカタログを返します。 |
setCurrentCatalog(catalogName) |
このセッションの現在の既定のカタログを設定します。 |
listCatalogs(pattern) |
このセッションのカタログの一覧を返します。 |
currentDatabase() |
このセッションの現在の既定のデータベースを返します。 |
setCurrentDatabase(dbName) |
このセッションの現在の既定のデータベースを設定します。 |
listDatabases(pattern) |
すべてのセッションで使用可能なデータベースの一覧を返します。 |
getDatabase(dbName) |
指定した名前のデータベースを取得します。 データベースが見つからないときに AnalysisException をスローします。 |
databaseExists(dbName) |
指定した名前のデータベースが存在するかどうかを確認します。 |
listTables(dbName, pattern) |
指定したデータベース内のテーブルとビューの一覧を返します。 すべての一時ビューが含まれます。 |
getTable(tableName) |
指定した名前のテーブルまたはビューを取得します。 テーブルが見つからないときに AnalysisException をスローします。 |
tableExists(tableName, dbName) |
指定した名前のテーブルまたはビューが存在するかどうかを確認します。 |
listColumns(tableName, dbName) |
指定したデータベース内の特定のテーブルまたはビューの列の一覧を返します。 |
listFunctions(dbName, pattern) |
指定したデータベースに登録されている関数の一覧を返します。 すべての一時関数が含まれます。 |
functionExists(functionName, dbName) |
指定した名前の関数が存在するかどうかを確認します。 一時的な関数が含まれます。 |
getFunction(functionName) |
指定した名前の関数を取得します。 関数が見つからない場合に AnalysisException をスローします。 |
createTable(tableName, path, source, schema, description, **options) |
データ ソース内のデータセットに基づいてテーブルを作成し、関連付けられている DataFrame を返します。 |
dropTempView(viewName) |
指定した名前のローカル一時ビューを削除します。 また、キャッシュされた場合はビューのキャッシュを解除します。 |
dropGlobalTempView(viewName) |
指定した名前のグローバル一時ビューを削除します。 また、キャッシュされた場合はビューのキャッシュを解除します。 |
isCached(tableName) |
テーブルが現在メモリ内にキャッシュされている場合は true を返します。 |
cacheTable(tableName, storageLevel) |
指定したテーブルをメモリ内または特定のストレージ レベルでキャッシュします。 既定値は MEMORY_AND_DISK です。 |
uncacheTable(tableName) |
メモリ内キャッシュから指定したテーブルを削除します。 |
clearCache() |
メモリ内キャッシュからキャッシュされたすべてのテーブルを削除します。 |
refreshTable(tableName) |
キャッシュされたすべてのデータと特定のテーブルのメタデータを無効にして更新します。 |
recoverPartitions(tableName) |
指定されたテーブルのすべてのパーティションを回復し、カタログを更新します。 パーティション テーブルでのみ機能します。 |
refreshByPath(path) |
指定されたデータ ソース パスを含むすべての DataFrame について、キャッシュされたすべてのデータとメタデータを無効にして更新します。 |
例示
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