SHOW ICEBERG TABLES¶
Listet die Iceberg-Tabellen auf, für die Sie Zugriffsrechte haben.
Mit diesem Befehl können Sie Iceberg-Tabellen der aktuellen bzw. der angegebenen Datenbank oder des angegebenen Schemas oder alle Tabellen Ihres Kontos auflisten.
Dieser Befehl gibt andere Ausgabespalten als SHOW TABLES zurück. Die Ausgabe gibt Metadaten und Eigenschaften der Iceberg-Tabellen zurück, lexikographisch geordnet nach Datenbank, Schema und Name der Iceberg-Tabelle (Beschreibungen der Ausgabespalten finden Sie unter diesem Thema unter Ausgabe). Dies muss beachtet werden, wenn Sie die Ergebnisse mit den bereitgestellten Filtern filtern möchten.
Beachten Sie, dass unter diesem Thema Iceberg-Tabellen einfach als „Tabellen“ bezeichnet werden, es sei denn, die Angabe von Iceberg-Tabellen vermeidet Verwechslungen.
- Siehe auch:
CREATE ICEBERG TABLE , DROP ICEBERG TABLE , DESCRIBE ICEBERG TABLE , ALTER ICEBERG TABLE , SHOW TABLES
Syntax¶
SHOW [ TERSE ] [ ICEBERG ] TABLES [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Parameter¶
TERSE
Gibt optional nur eine Teilmenge der Ausgabespalten zurück:
created_on
name
kind
Der Spaltenwert
kind
ist immer ICEBERG TABLE.database_name
schema_name
Standard: Kein Wert (alle Spalten sind in der Ausgabe enthalten)
ICEBERG
Gibt nur Iceberg-Tabellen zurück.
LIKE 'pattern'
Filtert optional die Befehlsausgabe nach dem Objektnamen. Der Filter verwendet einen Musterabgleich ohne Berücksichtigung der Groß-/Kleinschreibung, aber mit Unterstützung von SQL-Platzhalterzeichen (
%
und_
).Die folgenden Muster geben beispielsweise die gleichen Ergebnisse zurück:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. Standard: Kein Wert (die Ausgabe wird nicht gefiltert).
[ IN ... ]
Gibt optional den Geltungsbereich des Befehls an. Geben Sie eine der folgenden Optionen an:
ACCOUNT
Gibt Datensätze für das gesamte Konto zurück.
DATABASE
, .DATABASE db_name
Gibt Datensätze für die aktuell verwendete Datenbank oder eine angegebene Datenbank (
db_name
) zurück.Wenn Sie
DATABASE
ohnedb_name
angeben und aktuell keine Datenbank in Verwendung ist, hat das Schlüsselwort keine Auswirkungen auf die Ausgabe.SCHEMA
, .SCHEMA schema_name
, .schema_name
Gibt Datensätze für das aktuell verwendete Schema oder ein angegebenes Schema (
schema_name
) zurück.SCHEMA
ist optional, wenn aktuell eine Datenbank in Verwendung ist oder wenn Sie fürschema_name
den vollqualifizierten Schemanamen (z. B.db.schema
) angeben.Wenn aktuell keine Datenbank in Verwendung ist, hat die Angabe von
SCHEMA
keine Auswirkungen auf die Ausgabe.
Standard: Abhängig davon, ob für die Sitzung aktuell eine Datenbank in Verwendung ist:
Datenbank:
DATABASE
ist der Standardwert (d. h. der Befehl gibt die Objekte zurück, für die Sie Berechtigungen zum Anzeigen in der Datenbank haben).Keine Datenbank:
ACCOUNT
ist der Standardwert (d. h. der Befehl gibt die Objekte zurück, für die Sie Berechtigungen zum Anzeigen in Ihrem Konto haben).
STARTS WITH 'name_string'
Filtert die Befehlsausgabe optional anhand der Zeichen, die am Anfang des Objektnamens angezeigt werden. Die Zeichenfolge muss in einfache Anführungszeichen gesetzt werden, wobei zwischen Groß-/Kleinschreibung unterschieden wird.
Die folgenden Zeichenfolgen geben beispielsweise unterschiedliche Ergebnisse zurück:
... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
. Standard: Kein Wert (die Ausgabe wird nicht gefiltert)
LIMIT rows [ FROM 'name_string' ]
Schränkt optional die maximale Anzahl der zurückgegebenen Zeilen ein und ermöglicht gleichzeitig die „Paginierung“ der Ergebnisse. Die tatsächliche Anzahl der zurückgegebenen Zeilen kann geringer sein als das angegebene Limit. Beispielsweise ist die Anzahl der vorhandenen Objekte geringer als das angegebene Limit.
Die optionale Unterklausel
FROM 'name_string'
dient als „Cursor“ für die Ergebnisse. Dies ermöglicht das Abrufen der angegebenen Anzahl von Zeilen nach der ersten Zeile, deren Objektname mit der angegebenen Zeichenfolge übereinstimmt:Die Zeichenfolge muss in einfache Anführungszeichen gesetzt werden, wobei zwischen Groß-/Kleinschreibung unterschieden wird.
Die Zeichenfolge muss nicht den vollständigen Datenbanknamen enthalten. Partielle Namen werden unterstützt.
Standard: Kein Wert (die Ausgabe wird nicht begrenzt)
Bemerkung
Bei SHOW-Befehlen, die sowohl die
FROM 'name_string'
- als auch dieSTARTS WITH 'name_string'
-Klausel unterstützen, können Sie diese beiden Klauseln in derselben Anweisung kombinieren. Beide Bedingungen müssen jedoch erfüllt sein, da sie sich sonst gegenseitig aufheben und keine Ergebnisse zurückgegeben werden.Außerdem werden Objekte in lexikographischer Reihenfolge nach Namen zurückgegeben. Daher gibt
FROM 'name_string'
nur Zeilen mit einem höheren lexikografischen Wert zurück als die vonSTARTS WITH 'name_string'
zurückgegebenen Zeilen.Beispiel:
... STARTS WITH 'A' LIMIT ... FROM 'B'
würde keine Ergebnisse zurückgeben.... STARTS WITH 'B' LIMIT ... FROM 'A'
würde keine Ergebnisse zurückgeben.... STARTS WITH 'A' LIMIT ... FROM 'AB'
würde Ergebnisse zurückgeben (wenn Zeilen mit den Eingabezeichenfolgen übereinstimmen).
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
SELECT |
Iceberg-Tabelle |
Um eine bestimmte Iceberg-Tabelle in der Ausgabe für SHOW ICEBERG TABLES zu sehen, muss eine Rolle die Berechtigung SELECT für diese Tabelle haben. |
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Wenn ein Konto (oder eine Datenbank oder ein Schema) eine große Anzahl von Iceberg-Tabellen hat, kann das Durchsuchen des gesamten Kontos (oder der Datenbank oder des Schemas) eine erhebliche Menge an Computeressourcen verbrauchen.
Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.
Der Wert für
LIMIT rows
kann10000
nicht überschreiten. WennLIMIT rows
nicht angegeben wird und das Resultset mehr als 10.000 Zeilen hat, führt der Befehl zu einem Fehler.Um Ergebnisse anzuzeigen, für die mehr als 10.000 Datensätze vorhanden sind, fügen Sie entweder
LIMIT rows
(Zeilen) ein, oder fragen Sie die entsprechende Ansicht im Snowflake Information Schema ab.
Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.
Ausgabe¶
Bemerkung
Das folgende Ausgabeschema gilt für den Befehl SHOW ICEBERG TABLES. Weitere Informationen zur Ausgabe von SHOW TABLES finden Sie unter Identifizieren von Iceberg-Tabellen mit SHOW TABLES (unter diesem Thema).
Die Befehlsausgabe enthält Tabelleneigenschaften und Metadaten in den folgenden Spalten:
Spalte |
Beschreibung |
---|---|
|
Datum und Uhrzeit der Erstellung der Tabelle. |
|
Name der Tabelle. |
|
Datenbank, in der die Tabelle gespeichert ist. |
|
Schema, in dem die Tabelle gespeichert ist. |
|
Rolle, der die Tabelle gehört. |
|
Name des externen Volumes, auf dem die Daten und Metadaten der Iceberg-Tabelle gespeichert sind. |
|
Name des mit der Iceberg-Tabelle verbundenen Katalogintegrationsobjekts, wenn die Tabelle nicht von Snowflake verwaltet wird. |
|
Typ der Iceberg-Tabelle. |
|
Name der Tabelle, wie sie vom Katalog erkannt wird. |
|
Katalog-Namespace für die Tabelle. Der bei der Erstellung der Tabelle definierte Namespace. Andernfalls der Standard-Namespace, der mit der von der Tabelle verwendeten Katalogintegration verbunden ist. |
|
Relativer Pfad vom Speicherort |
|
Gibt an, ob Snowflake Metadaten an den durch |
|
Kommentar zur Tabelle. |
|
Liste von Objekten mit Informationen zu den Tabellenspalten, die die Spaltenprojektion verwenden. Weitere Informationen dazu finden Sie unter name_mapping. |
|
Der Typ der Rolle, die Eigentümer des Objekts ist, entweder |
name_mapping¶
Die Ausgabespalte name_mapping
liefert Informationen zu den Tabellenspalten, die die Spaltenprojektion verwenden.
Wenn eine Tabelle keine Spalten mit einer verknüpften Namenszuordnung enthält, hat die Ausgabespalte den Wert [NULL]
. Andernfalls ist der Wert eine Liste von Objekten, wobei jedes Objekt einer Spalte entspricht, die eine zugehörige Namenszuordnung hat (manchmal auch als zugeordnetes Feld bezeichnet). Jedes Objekt kann die folgenden drei Eigenschaften enthalten:
field-id
: Die Iceberg-Feld-ID.names
: Eine Liste von Namenzeichenfolgen für das Feld.fields
: Eine Liste von Feldzuordnungen für die untergeordneten Felder von „struct“-, „map“- oder „list“-Spalten.
Beispiel:
[
{
"field-id": 1,
"names": [
"id",
"record_id"
]
},
{
"field-id": 2,
"names": [
"data"
]
},
{
"field-id": 3,
"names": [
"location"
],
"fields": [
{
"field-id": 4,
"names": [
"latitude",
"lat"
]
},
{
"field-id": 5,
"names": [
"longitude",
"long"
]
}
]
}
]
Bemerkung
Feld-IDs müssen nicht aufeinanderfolgend sein, wenn eine Spalte (oder ein Feld in einer Spalte mit einem strukturierten Typ) keine entsprechende Namenszuordnung hat.
Beispiele¶
Zeigen Sie alle Iceberg-Tabellen an, deren Name mit glue
beginnt und für die Sie über Berechtigungen zum Anzeigen im Schema tpch.public
verfügen:
SHOW ICEBERG TABLES LIKE 'glue%' IN tpch.public;
Identifizieren von Iceberg-Tabellen mit SHOW TABLES¶
Die Ausgabe des SHOW TABLES-Befehls enthält eine Spalte, die anzeigt, ob eine Tabelle eine Iceberg-Tabelle ist. Diese Spalte wird zusätzlich zu den regulären SHOW TABLES-Ausgabespalten angezeigt.
Die Spalte hat den folgenden Namen und mögliche Werte:
Spaltenname |
Werte |
---|---|
is_iceberg |
|