Exemplos de código: Apache Spark™

Esta seção fornece exemplos de código para usar o Apache Spark™ para executar as seguintes tarefas no Snowflake Open Catalog:

  • Configuração de uma conexão de serviço

  • Como usar um catálogo

  • Listagem de catálogos

  • Listagem de namespaces

  • Criação de um namespace

  • Como usar um namespace

  • Descarte de um namespace

  • Criação de uma tabela

  • Consulta a uma tabela

  • Exibição das propriedades de tabela

  • Listagem de tabelas

  • Descarte de uma tabela:

Privilégios obrigatórios

Para executar os comandos inclusos nos exemplos de código, os seguintes privilégios devem ser concedidos à entidade de serviço usada para conectar o Spark ao Open Catalog:

Comando

Privilégio necessário

Exibição de namespaces

NAMESPACE_LIST

Criação de namespaces

NAMESPACE_CREATE

Como usar um namespace

NAMESPACE_READ_PROPERTIES

Exibição de tabelas

TABLE_LIST

Criação ou substituição de uma tabela

  • TABLE_WRITE_DATA
  • TABLE_CREATE

Descarte de um namespace

NAMESPACE_DROP

Descartar tabela

TABLE_DROP

Inserção na tabela

TABLE_WRITE_DATA

Seleção da tabela

TABLE_READ_DATA

Configuração de uma conexão de serviço

Consulte os exemplos de configuração de uma conexão de serviço no Spark.

Como usar o catálogo

Como usar o catálogo catalog1:

spark.sql("use catalog1").show()
Copy

Listagem de catálogos

Listagem dos catálogos aos quais você está conectado:

spark.sql("show catalogs").show()
Copy

Listagem de namespaces

Listagem dos namespaces para o catálogo ao qual você está conectado:

spark.sql("show namespaces").show()
Copy

Criação de um namespace

Crie o namespace namespace1:

spark.sql("CREATE NAMESPACE namespace1")
Copy

Como usar um namespace

Use o namespace namespace1:

spark.sql("use namespace1").show()
Copy

Descarte de um namespace

Remova o namespace namespace1 do catálogo:

spark.sql("DROP NAMESPACE namespace1")
Copy

Criação de uma tabela

Crie uma tabela customers sob o namespace pai namespace1:

spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")
Copy

Consulta a uma tabela

Consulta da tabela customers:

spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()
Copy

Exibição das propriedades de tabela

Mostre as propriedades da tabela para a tabela customers:

spark.sql("SHOW TBLPROPERTIES customers").show(50, False)
Copy

Listagem de tabelas

Liste as tabelas do catálogo ao qual você está conectado:

spark.sql("show tables").show()
Copy

Descarte de uma tabela:

Descarte a tabela customers no namespace pai namespace1:

spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")
Copy