Interroger une table dans Snowflake Open Catalog à l’aide d’un moteur tiers¶
Cette rubrique fournit des instructions sur l’utilisation d’un moteur de requête tiers pour interroger une table dans Snowflake Open Catalog.
Conditions préalables¶
Avant de pouvoir interroger une table dans Open Catalog, vous devez exécuter les actions suivantes :
Accordez des privilèges de lecture au catalogue que vous avez créé. Pour plus d’informations, voir Sécurisation de catalogues.
Enregistrez la connexion de service que vous avez configurée. Pour plus d’informations, voir Enregistrement d’une connexion de service.
Considérations relatives à la requête sur les tables d’Apache Iceberg™ gérées par Snowflake¶
Si vous utilisez Snowflake et synchronisez une table Iceberg gérée par Snowflake avec Open Catalog, tenez compte des considérations suivantes lors de la requête de la table dans Open Catalog :
Identificateurs sans guillemets : Si vous créez une base de données, un schéma ou une table Iceberg dans Snowflake et que vous lui donnez un nom qui contient des lettres sans ajouter de guillemets doubles autour du nom, vous devez spécifier le nom en majuscules lorsque vous y faites référence dans Open Catalog. Par exemple, si
iceberg_tables.public.table1
est le nom dans Snowflake, utilisezICEBERG_TABLES.PUBLIC.TABLE1
dans Open Catalog.[Identificateurs entre guillemets] (https://docs.snowflake.com/sql-reference/identifiers-syntax#label-delimited-identifier) : Si vous créez un objet dans Snowflake avec le nom entre guillemets doubles, lorsque vous référencez l’objet dans une requête dans Open Catalog, vous devez procéder comme suit :
Entourez le nom de l’objet avec des guillemets simples.
Spécifiez le nom de l’objet exactement tel qu’il apparaît dans Open Catalog pour tenir compte de tout caractère qui a été rendu différent, le cas échéant.
L’exemple suivant montre l’identificateur Snowflake
My 'Identifier'
, qui a été créé avec des guillemets doubles, référencé dans une requête dans Open Catalog :spark.sql ("select * from `My+'Identifier'`.PUBLIC.TABLE1").show()
Open Catalog représente le caractère espace dans les identificateurs Snowflake à guillemets doubles par le symbole
+
.
Exemple : interroger une table¶
L’exemple de code suivant illustre comment utiliser Apache Spark pour interroger la table customers
dans le catalogue catalog1
. La table customers
est située sous namespace1a
, qui est imbriqué sous l’espace de noms de niveau supérieur namespace1
:
spark.sql("use catalog1").show()
spark.sql("use namespace1.namespace1a").show()
spark.sql("SELECT * FROM customers").show()