Abfrage einer Tabelle in Snowflake Open Catalog mit einer Engine eines Drittanbieters¶
Dieses Thema enthält Anleitungen für die Verwendung einer Abfrage-Engine eines Drittanbieters zur Abfrage einer Tabelle in Snowflake Open Catalog.
Voraussetzungen¶
Bevor Sie eine Tabelle in Open Catalog abfragen können, müssen Sie Folgendes tun:
Erteilen Sie dem von Ihnen erstellten Katalog Leseberechtigungen. Weitere Informationen finden Sie unter Sichere Kataloge.
Registrieren Sie die von Ihnen konfigurierte Dienstverbindung. Weitere Informationen finden Sie unter Registrieren einer Dienstverbindung.
Überlegungen zur Abfrage von Snowflake-verwalteten Apache Iceberg™-Tabellen¶
Wenn Sie Snowflake verwenden und eine von Snowflake verwaltete Iceberg-Tabelle mit Open Catalog synchronisieren, sollten Sie bei der Abfrage der Tabelle in Open Catalog die folgenden Punkte beachten:
Bezeichner ohne Anführungszeichen: Wenn Sie eine Datenbank, ein Schema oder eine Iceberg-Tabelle in Snowflake erstellen und ihr einen Namen geben, der Buchstaben enthält, ohne den Namen in doppelte Anführungszeichen zu setzen, müssen Sie den Namen in Großbuchstaben angeben, wenn Sie in Open Catalog darauf verweisen. Wenn zum Beispiel
iceberg_tables.public.table1
der Name in Snowflake ist, verwenden SieICEBERG_TABLES.PUBLIC.TABLE1
in Open Catalog.Bezeichner in Anführungszeichen: Wenn Sie in Snowflake ein Objekt mit einem Namen in doppelten Anführungszeichen erstellen, müssen Sie, wenn Sie das Objekt in einer Abfrage in Open Catalog referenzieren, Folgendes tun:
Schließen Sie den Objektnamen mit Backquotes ein.
Geben Sie den Objektnamen genau so an, wie er in Open Catalog erscheint, um ggf. Zeichen zu berücksichtigen, die als andere Zeichen dargestellt wurden.
Das folgende Beispiel zeigt, wie der Snowflake-Bezeichner
My 'Identifier'
, der mit doppelten Anführungszeichen erstellt wurde, in einer Abfrage in Open Catalog referenziert wird:spark.sql ("select * from `My+'Identifier'`.PUBLIC.TABLE1").show()
Open Catalog gibt das Leerzeichen in Snowflake-Bezeichnern in doppelten Anführungszeichen als
+
wieder.
Beispiel: Eine Tabelle abfragen¶
Der folgende Beispielcode zeigt, wie Sie Apache Spark verwenden, um die Tabelle Kunden
im Katalog Katalog1
abzufragen. Die Tabelle Kunden
befindet sich unter Namespace1a
, der unter dem Top-Level-Namespace Namespace1
verschachtelt ist:
spark.sql("use catalog1").show()
spark.sql("use namespace1.namespace1a").show()
spark.sql("SELECT * FROM customers").show()