Consulta a uma tabela no Snowflake Open Catalog usando um mecanismo de terceiros¶
Este tópico fornece instruções sobre como usar um mecanismo de consulta de terceiros para consultar uma tabela no Snowflake Open Catalog.
Pré-requisitos¶
Antes de consultar uma tabela no Open Catalog, é necessário fazer o seguinte:
Conceda privilégios de leitura ao catálogo que você criou. Para obter mais informações, consulte Catálogos seguros.
Registre a conexão de serviço que você configurou. Para obter mais informações, consulte Registro de uma conexão de serviço.
Considerações para consultar tabelas Apache Iceberg™ gerenciadas pelo Snowflake¶
Se você usar o Snowflake e sincronizar uma tabela Iceberg gerenciada pelo Snowflake com o Open Catalog, esteja ciente das seguintes considerações ao consultar a tabela no Open Catalog:
Identificadores sem aspas: se o usuário criar um banco de dados, um esquema ou uma tabela Iceberg no Snowflake e atribuir a ele um nome que contenha letras sem colocar o nome entre aspas duplas, será necessário especificar o nome todo em letras maiúsculas ao fazer referência a ele no Open Catalog. Por exemplo, se
iceberg_tables.public.table1
for o nome no Snowflake, useICEBERG_TABLES.PUBLIC.TABLE1
no Open Catalog.Identificadores com aspas duplas: se você criar um objeto no Snowflake com o nome entre aspas duplas, ao fazer referência ao objeto em uma consulta no Open Catalog, deverá fazer o seguinte:
Coloque o nome do objeto entre acentos graves (backticks).
Especifique o nome do objeto exatamente como ele aparece no Open Catalog para levar em conta qualquer caractere que tenha sido renderizado como um caractere diferente, quando aplicável.
O exemplo a seguir mostra o identificador
My 'Identifier'
do Snowflake, que foi criado com aspas duplas, sendo referenciado em uma consulta no Open Catalog:spark.sql ("select * from `My+'Identifier'`.PUBLIC.TABLE1").show()
O Open Catalog processa o caractere de espaço em identificadores Snowflake entre aspas duplas como
+
.
Exemplo: Consulta a uma tabela¶
O código de exemplo a seguir mostra como usar o Apache Spark para consultar a tabela customers
no catálogo catalog1
. A tabela customers
está localizada em namespace1a
, que está aninhado sob o namespace de nível superior namespace1
:
spark.sql("use catalog1").show()
spark.sql("use namespace1.namespace1a").show()
spark.sql("SELECT * FROM customers").show()