Criação de tabelas no Snowflake: Tipos, exemplos e práticas recomendadas
Saiba como criar diferentes tipos de tabelas no Snowflake, incluindo tabelas permanentes, temporárias, externas e dinâmicas. Inclui exemplos passo a passo e práticas recomendadas.
O Snowflake é uma poderosa plataforma de armazenamento de dados baseada em nuvem que ajuda as organizações a armazenar, gerenciar e analisar seus dados com eficiência. Ao contrário dos data warehouses tradicionais que exigem configurações complexas de hardware, o Snowflake é executado inteiramente na nuvem, o que facilita para as empresas dimensionarem suas operações de dados conforme necessário.
Criar tabelas no Snowflake é uma habilidade fundamental que forma a base do gerenciamento de dados. As tabelas são onde você armazena os dados estruturados, possibilitando a execução de consultas, a geração de relatórios e a obtenção de insights valiosos das informações. Se você estiver trabalhando com dados de clientes, números de vendas ou resultados analíticos, é essencial entender como criar e gerenciar tabelas no Snowflake.
Neste tutorial, você aprenderá tudo o que precisa saber sobre a criação de tabelas no Snowflake. Abordaremos os diferentes tipos de tabelas, mostraremos a você exemplos passo a passo e compartilharemos as práticas recomendadas para o design de tabelas. Ao final, você terá confiança para escolher o tipo certo de tabela para suas necessidades e criar tabelas que sigam os padrões do setor em termos de desempenho e facilidade de manutenção.
Entendendo os tipos de tabela no Snowflake
Antes de nos aprofundarmos nos exemplos de código sobre como criar tabelas, vamos explorar os diferentes tipos de tabela no Snowflake, pois cada um deles serve a propósitos exclusivos e tem características distintas em termos de persistência de dados, acessibilidade e local de armazenamento.
Mesas permanentes
As tabelas permanentes são o tipo de tabela padrão no Snowflake. Eles persistem até que sejam explicitamente descartados e são armazenados no armazenamento interno do Snowflake. Essas tabelas são ideais para armazenar os principais dados comerciais que precisam ser mantidos por um longo período e acessados em várias sessões. Os dados nas tabelas permanentes permanecem intactos entre as sessões e podem ser acessados por qualquer usuário autorizado.
Tabelas temporárias
As tabelas temporárias são tabelas específicas da sessão que são descartadas automaticamente quando a sessão atual termina. Elas servem como tabelas de espaço de trabalho para etapas intermediárias de processamento, ajudando a organizar transformações complexas de dados sem sobrecarregar o armazenamento permanente. Os dados nas tabelas temporárias são visíveis apenas para a sessão que os criou e são limpos automaticamente quando a sessão é encerrada.
Tabelas externas
As tabelas externas oferecem uma maneira de consultar dados que residem fora do armazenamento do Snowflake. Eles atuam como uma camada de metadados que mapeia os dados em locais de armazenamento externo, como o AWS S3 ou Azure Blob Storage. Em vez de ingerir os dados, as tabelas externas criam uma referência a eles, permitindo que você consulte os dados externos diretamente. Essa abordagem é particularmente valiosa quando se trabalha com dados que precisam permanecer em seu local de origem ou que exigem atualizações frequentes de sistemas externos.
Tabelas dinâmicas
As tabelas dinâmicas são um recurso avançado do Snowflake que mantém automaticamente os resultados atualizados de uma consulta. Eles atuam como visualizações materializadas que se atualizam automaticamente com base nas alterações nas tabelas de origem subjacentes. Ao criar uma tabela dinâmica, você a define usando uma instrução SELECT, e o Snowflake gerencia automaticamente o processo de atualização para garantir que os dados permaneçam atualizados.
As tabelas dinâmicas são particularmente úteis para você:
Criação de painéis em tempo real que precisam de dados atualizados sem atualizações manuais
Manutenção de versões agregadas ou transformadas de dados de origem que são atualizados automaticamente
Criar modelos de dados dependentes em que as tabelas downstream precisam refletir as alterações upstream
Otimização do desempenho da consulta por meio da pré-computação de transformações complexas
Os principais recursos das tabelas dinâmicas incluem:
Intervalos de atualização configuráveis (de 1 minuto a 24 horas)
Rastreamento automático de dependências das tabelas de origem
Configurações de tempo de atraso alvo para controlar a atualização dos dados
Processamento incremental para minimizar os custos de computação
Recursos integrados de monitoramento e otimização
Cada tipo de tabela tem sua finalidade distinta na arquitetura de dados. As tabelas permanentes formam a base do seu data warehouse, as tabelas temporárias facilitam os fluxos de trabalho de processamento de dados, as tabelas externas permitem a integração com fontes de dados externas e as tabelas dinâmicas fornecem transformações de dados automatizadas e em tempo real.
Comparação de tabelas de flocos de neve
Na tabela abaixo, descrevemos os diferentes tipos de tabelas Snowflake em um guia conciso e de referência rápida:
Tipo de tabela
Persistência
Visibilidade
Melhor para
Permanente
Até que você caia
Qualquer sessão
Dados comerciais essenciais
Temporário
Somente sessão
Mesma sessão
Transformações intermediárias
Externo
Armazenamento externo
Qualquer sessão
Consulta de dados externos (por exemplo, S3)
Dynamic
Atualização automática
Qualquer sessão
Análise em tempo real
Criar tabelas: Configurando o Snowflake
Antes de executar os exemplos deste tutorial, você precisará de acesso a um ambiente Snowflake. Aqui estão várias maneiras de você se conectar e executar comandos do Snowflake:
1. Interface da Web do Snowflake (Snowsight)
A maneira mais simples de começar é por meio da interface da Web do Snowflake:
Você pode encontrar as credenciais da sua conta Snowflake nos seguintes locais:
URL da conta: Procure em seu e-mail de boas-vindas ou nas configurações da conta
Nome de usuário: Fornecido durante a configuração da conta
Banco de dados: Criado ou atribuído por seu administrador
Armazém: Criado ou atribuído por seu administrador
Por motivos de segurança, nunca compartilhe ou confie essas credenciais. Armazene-os de forma segura em variáveis de ambiente ou em um arquivo de configuração.
3. Conexão Python
Se estiver usando Python, você poderá usar a bibliotecasnowflake-connector-python:
Nunca armazene credenciais diretamente em seu código
Use variáveis de ambiente ou gerenciamento seguro de segredos
Para produção, considere o uso de autenticação de par de chaves
Siga as políticas de segurança de sua organização
Agora que nossa configuração está pronta, vamos criar tabelas!
Criação de tabelas no Snowflake: Exemplos passo a passo
Exemplo 1: Criação de uma tabela Snowflake simples
Vamos criar uma tabela para armazenar as informações do cliente. Este exemplo demonstra a criação básica de tabelas com diferentes tipos de dados e restrições.
CREATE OR REPLACE TABLE - Cria uma nova tabela ou a substitui se ela já existir
PRIMARY KEY - Garante a identificação exclusiva de cada registro
NOT NULL - Evita valores nulos em campos obrigatórios
UNIQUE - Garante que os endereços de e-mail não sejam duplicados
TIMESTAMP_NTZ - Carimbo de data/hora sem fuso horário
DEFAULT - Define automaticamente o registro de data e hora da criação
Exemplo 2: Criação de uma tabela temporária
As tabelas temporárias são perfeitas para o processamento de dados intermediários. Aqui está um exemplo que cria uma tabela temporária para analisar os pedidos dos clientes:
-- Create a temporary table for order analysisCREATEORREPLACETEMPORARYTABLE temp_order_analysis (
order_date DATE,
total_orders INTEGER,
total_revenue DECIMAL(18,2))ASSELECT
DATE_TRUNC('day', order_date)as order_date,COUNT(*)as total_orders,SUM(order_amount)as total_revenue
FROM orders
GROUPBY1;Tecnologia
Pontos importantes sobre tabelas temporárias:
A palavra-chave TEMPORARY indica que essa tabela só existirá na sessão atual. Isso significa que outros usuários não podem ver ou acessar essa tabela.
O uso do site CREATE TABLE AS (CTAS) permite que você crie e preencha uma tabela em uma única etapa, combinando a definição da tabela com um comando SELECT.
A tabela temporária é descartada automaticamente quando a sessão termina, o que ajuda a manter o banco de dados limpo sem a necessidade de limpeza manual.
As tabelas temporárias são úteis para armazenar resultados intermediários durante transformações complexas de dados ou fluxos de trabalho de análise.
Exemplo 3: Criando uma tabela externa no Snowflake
Este exemplo mostra como criar uma tabela externa que lê dados de arquivos armazenados em um bucket de armazenamento em nuvem:
A primeira instrução define uma especificação de formato de arquivo que informa ao Snowflake como analisar arquivos CSV externos, incluindo o delimitador, o tratamento de cabeçalho e as representações de valor NULL.
A segunda instrução cria um objeto de estágio que estabelece uma conexão com o armazenamento em nuvem externo (nesse caso, S3) usando as credenciais fornecidas. Esse estágio funciona como um ponto de referência para acessar os arquivos de dados externos.
O terceiro comando cria a tabela externa propriamente dita, usando definições de coluna com cláusulas AS para converter explicitamente os dados brutos de string do CSV em tipos de dados adequados do Snowflake. A cláusula WITH LOCATION aponta para o caminho específico dentro do estágio em que os arquivos residem.
O parâmetro PATTERN filtra quais arquivos devem ser incluídos usando a correspondência regex, garantindo que apenas os arquivos CSV sejam processados.
Pré-requisitos para executar essa consulta de criação de tabela externa:
1. Acesso a uma conta Snowflake com permissões para:
Criar formatos de arquivo
Criar estágios
Criar tabelas externas
2. Credenciais válidas do AWS (AWS_KEY_ID e AWS_SECRET_KEY ) com permissões para:
Ler a partir do bucket S3
Listar objetos no balde
3. Requisitos de dados de origem:
Arquivos CSV armazenados em um bucket S3
Os arquivos seguem um formato consistente com quatro colunas
Os dados da coluna correspondem aos tipos especificados:
customer_id como string
purchase_date como data
product_id como string
amount as decimal
4. Conectividade de rede:
Acesso de rede ao AWS S3
Configurações adequadas de grupo de segurança e firewall
5. Recursos de computação:
Armazém ativo com capacidade de computação adequada
Créditos/quota de usuário suficientes
Exemplo 4: Criação de uma tabela dinâmica
Este exemplo cria uma tabela dinâmica que mantém um resumo atualizado dos dados de vendas:
-- Create a dynamic table for real-time sales analyticsCREATEORREPLACE DYNAMIC TABLE daily_sales_summary
TARGET_LAG ='20 minutes'
WAREHOUSE ='COMPUTE_WH'ASSELECT
DATE_TRUNC('day', sale_timestamp)as sale_date,
product_category,SUM(sale_amount)as total_sales,COUNT(DISTINCT customer_id)as unique_customers
FROM sales_transactions
GROUPBY1,2;Tecnologia
O parâmetro TARGET_LAG de "20 minutos" define o atraso máximo permitido entre as atualizações da tabela de origem e o momento em que essas alterações são refletidas na tabela dinâmica. Isso garante a atualização dos dados dentro dessa janela de tempo.
O parâmetro WAREHOUSE especifica quais recursos de computação (nesse caso, COMPUTE_WH) serão usados para atualizar periodicamente a tabela dinâmica. Esse depósito deve ter capacidade adequada para lidar com as operações de atualização.
A tabela dinâmica atualiza automaticamente seu conteúdo quando a tabela subjacente sales_transactions é alterada, sem necessidade de intervenção manual. Isso fornece recursos de análise quase em tempo real.
Ao manter resumos de vendas diárias pré-agregadas agrupadas por categoria de produto, a tabela dinâmica permite consultas mais rápidas em comparação com o cálculo dessas métricas sob demanda a partir dos dados brutos da transação. Isso melhora o desempenho da consulta para casos de uso de relatórios e análises.
Cada um desses exemplos demonstra diferentes cenários de criação de tabelas que você pode encontrar em aplicativos do mundo real. Lembre-se de ajustar os nomes das colunas, os tipos de dados e outros parâmetros de acordo com suas necessidades específicas.
Práticas recomendadas para criar tabelas no Snowflake
Vamos explorar algumas práticas recomendadas que você deve seguir ao criar tabelas no Snowflake para garantir a manutenção, o desempenho e a qualidade dos dados.
1. Convenções de nomenclatura
Sempre use nomes claros e consistentes para suas tabelas e colunas:
-- Good naming examplesCREATETABLE customer_orders (
order_id INTEGER,
customer_email VARCHAR,
order_date DATE);-- Bad naming examplesCREATETABLE Orders123 (
ID INTEGER,
email VARCHAR,
dt DATE);Tecnologia
Dicas para nomear:
Use letras minúsculas e sublinhados (snake_case)
Evite espaços e caracteres especiais
Faça nomes descritivos, mas não muito longos
Use a forma singular para nomes de tabelas (cliente e não clientes)
Adicione prefixos para ambientes diferentes (dev_,test_,prod_ )
2. Tipos de dados de coluna
Escolha o tipo de dados correto para economizar armazenamento e melhorar o desempenho:
-- Good data type choicesCREATETABLE products (
product_id INTEGER,
price DECIMAL(10,2),-- For money values
name VARCHAR(100),-- Set a reasonable limit
description TEXT,-- For very long text
is_active BOOLEAN-- Instead of VARCHAR or INTEGER);Tecnologia
Tipos de dados comuns a serem usados:
NUMBER/INTEGER: Para números inteiros
DECIMAL/NUMERIC: Para números decimais precisos (especialmente dinheiro)
VARCHAR: Para texto com um comprimento máximo conhecido
TEXT: Para textos de comprimento ilimitado
TIMESTAMP_NTZ: Para datas e horários (sem fuso horário)
BOOLEAN: Para valores verdadeiro/falso
3. Usando chaves de clustering
Adicione chaves de clustering para melhorar o desempenho da consulta:
Normalmente, colunas de data mais uma ou duas outras colunas
Não agrupe colunas com muitos valores exclusivos
4. Adição de restrições de tabela
Use restrições para manter seus dados limpos:
CREATETABLE users (
user_id INTEGERPRIMARYKEY,-- Ensures unique IDs
email VARCHAR(255)UNIQUE,-- No duplicate emails
username VARCHAR(50)NOTNULL,-- Must have a value
age INTEGERCHECK(age >=18)-- Must be 18 or older);Tecnologia
Restrições importantes:
PRIMARY KEY: Para identificadores exclusivos
FOREIGN KEY: Para vincular tabelas
NOT NULL: Para campos obrigatórios
UNIQUE: Para campos que não podem ter duplicatas
CHECK: Para validação simples de dados
5. Erros comuns que você deve evitar
Você não deve fazer isso:
-- Bad practice: No primary keyCREATETABLE orders (dateVARCHAR,-- Wrong data type for dates
amount VARCHAR(10),-- Wrong data type for numbersstatustext-- Inconsistent case with other columns);Tecnologia
A versão aprimorada garante a integridade dos dados com uma chave primária, usa tipos de dados corretos para datas e números para permitir filtragem e cálculos eficientes e mantém a consistência nas definições de coluna para melhorar a legibilidade e a compatibilidade.
6. Dicas de desempenho
Ao otimizar o desempenho da tabela no Snowflake, você pode melhorar significativamente a velocidade de consulta e reduzir os custos de armazenamento. Siga estas práticas recomendadas para garantir que suas tabelas sejam eficientes e dimensionáveis.
Criar tabelas menores em vez de uma tabela enorme
Adicionar descrições de colunas usando COMMENT
Configurar regras de limpeza automática de dados
Teste o design de sua tabela com dados reais
Monitorar o uso da mesa e ajustar conforme necessário
7. Práticas recomendadas de segurança
Medidas de segurança adequadas são essenciais para proteger dados confidenciais e controlar o acesso. Implemente essas práticas recomendadas para proteger seu ambiente Snowflake contra acesso não autorizado e violações de dados.
Sempre defina as permissões de acesso adequadas
Use a segurança em nível de linha quando necessário
Criptografar colunas confidenciais
Mantenha o controle de quem pode acessar o quê
Revisar regularmente os padrões de acesso
Lembre-se: Uma mesa bem projetada facilita seu trabalho mais tarde. Reserve um tempo para planejar a estrutura da sua mesa antes de criá-la!
Conclusão
Neste tutorial, abordamos os aspectos essenciais da criação de tabelas no Snowflake, incluindo:
Diferentes tipos de tabelas (permanentes, temporárias, externas e dinâmicas)
Exemplos passo a passo para criar cada tipo
Práticas recomendadas para design e gerenciamento de tabelas
Armadilhas comuns a serem evitadas
Esse conhecimento forma a base para a criação de soluções de dados eficientes e dimensionáveis no Snowflake.
Próximas etapas
Para aprofundar sua experiência com o Snowflake, confira estes valiosos recursos:
Não se esqueça de que a melhor maneira de aprender é fazendo. Comece a criar tabelas, faça experiências com diferentes tipos e crie projetos reais. À medida que você encontrar desafios, consulte esses recursos e continue explorando os novos recursos do Snowflake.
Perguntas frequentes sobre o Snowflake Create Table
Quais são os diferentes tipos de tabelas no Snowflake?⌄
O Snowflake oferece suporte a quatro tipos principais de tabelas: tabelas permanentes para armazenamento de dados de longo prazo, tabelas temporárias para uso específico da sessão, tabelas externas para consulta de fontes de dados externas e tabelas dinâmicas para manutenção automática de resultados de consultas.
Como faço para criar uma tabela básica no Snowflake?⌄
Use o comando CREATE TABLE com o esquema que você deseja. Por exemplo: "CREATE TABLE customers (customer_id INTEGER PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50))". Inclua tipos de dados e restrições apropriados.
O que é uma tabela dinâmica no Snowflake e quando devo usá-la?⌄
As tabelas dinâmicas mantêm automaticamente os resultados atualizados de uma consulta, de forma semelhante às exibições materializadas. Eles são ideais para painéis em tempo real, transformações automatizadas de dados e manutenção de dados agregados que precisam de atualizações frequentes.
Quais são as práticas recomendadas para nomear tabelas no Snowflake?⌄
Use letras minúsculas com sublinhados (snake_case), evite espaços e caracteres especiais, faça nomes descritivos, mas concisos, use a forma singular para nomes de tabelas e considere adicionar prefixos de ambiente (dev_, test_, prod_).
Como posso melhorar o desempenho da tabela no Snowflake?⌄
Melhore o desempenho usando chaves de clustering apropriadas, escolhendo tipos de dados corretos, definindo restrições adequadas, criando tabelas menores e focadas em vez de grandes e monitorando regularmente os padrões de uso da tabela.
Descubra as principais certificações Snowflake para 2026 com este guia completo. Veja qual certificação Snowflake combina com seus objetivos de carreira.
Você está procurando um emprego que utilize o Snowflake? Prepare-se com estas 20 principais perguntas da entrevista do Snowflake para conseguir o emprego!
Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Aprenda os fundamentos da engenharia de dados: projeto de banco de dados e armazenamento de dados, trabalhando com tecnologias como PostgreSQL e Snowflake!
O Snowflake é uma poderosa plataforma de armazenamento de dados baseada em nuvem que ajuda as organizações a armazenar, gerenciar e analisar seus dados com eficiência. Ao contrário dos data warehouses tradicionais que exigem configurações complexas de hardware, o Snowflake é executado inteiramente na nuvem, o que facilita para as empresas dimensionarem suas operações de dados conforme necessário.
Criar tabelas no Snowflake é uma habilidade fundamental que forma a base do gerenciamento de dados. As tabelas são onde você armazena os dados estruturados, possibilitando a execução de consultas, a geração de relatórios e a obtenção de insights valiosos das informações. Se você estiver trabalhando com dados de clientes, números de vendas ou resultados analíticos, é essencial entender como criar e gerenciar tabelas no Snowflake.
Neste tutorial, você aprenderá tudo o que precisa saber sobre a criação de tabelas no Snowflake. Abordaremos os diferentes tipos de tabelas, mostraremos a você exemplos passo a passo e compartilharemos as práticas recomendadas para o design de tabelas. Ao final, você terá confiança para escolher o tipo certo de tabela para suas necessidades e criar tabelas que sigam os padrões do setor em termos de desempenho e facilidade de manutenção.
Entendendo os tipos de tabela no Snowflake
Antes de nos aprofundarmos nos exemplos de código sobre como criar tabelas, vamos explorar os diferentes tipos de tabela no Snowflake, pois cada um deles serve a propósitos exclusivos e tem características distintas em termos de persistência de dados, acessibilidade e local de armazenamento.
Mesas permanentes
As tabelas permanentes são o tipo de tabela padrão no Snowflake. Eles persistem até que sejam explicitamente descartados e são armazenados no armazenamento interno do Snowflake. Essas tabelas são ideais para armazenar os principais dados comerciais que precisam ser mantidos por um longo período e acessados em várias sessões. Os dados nas tabelas permanentes permanecem intactos entre as sessões e podem ser acessados por qualquer usuário autorizado.
Tabelas temporárias
As tabelas temporárias são tabelas específicas da sessão que são descartadas automaticamente quando a sessão atual termina. Elas servem como tabelas de espaço de trabalho para etapas intermediárias de processamento, ajudando a organizar transformações complexas de dados sem sobrecarregar o armazenamento permanente. Os dados nas tabelas temporárias são visíveis apenas para a sessão que os criou e são limpos automaticamente quando a sessão é encerrada.
Tabelas externas
As tabelas externas oferecem uma maneira de consultar dados que residem fora do armazenamento do Snowflake. Eles atuam como uma camada de metadados que mapeia os dados em locais de armazenamento externo, como o AWS S3 ou Azure Blob Storage. Em vez de ingerir os dados, as tabelas externas criam uma referência a eles, permitindo que você consulte os dados externos diretamente. Essa abordagem é particularmente valiosa quando se trabalha com dados que precisam permanecer em seu local de origem ou que exigem atualizações frequentes de sistemas externos.
Tabelas dinâmicas
As tabelas dinâmicas são um recurso avançado do Snowflake que mantém automaticamente os resultados atualizados de uma consulta. Eles atuam como visualizações materializadas que se atualizam automaticamente com base nas alterações nas tabelas de origem subjacentes. Ao criar uma tabela dinâmica, você a define usando uma instrução SELECT, e o Snowflake gerencia automaticamente o processo de atualização para garantir que os dados permaneçam atualizados.
As tabelas dinâmicas são particularmente úteis para você:
Os principais recursos das tabelas dinâmicas incluem:
Cada tipo de tabela tem sua finalidade distinta na arquitetura de dados. As tabelas permanentes formam a base do seu data warehouse, as tabelas temporárias facilitam os fluxos de trabalho de processamento de dados, as tabelas externas permitem a integração com fontes de dados externas e as tabelas dinâmicas fornecem transformações de dados automatizadas e em tempo real.
Comparação de tabelas de flocos de neve
Na tabela abaixo, descrevemos os diferentes tipos de tabelas Snowflake em um guia conciso e de referência rápida:
Tipo de tabela
Persistência
Visibilidade
Melhor para
Permanente
Até que você caia
Qualquer sessão
Dados comerciais essenciais
Temporário
Somente sessão
Mesma sessão
Transformações intermediárias
Externo
Armazenamento externo
Qualquer sessão
Consulta de dados externos (por exemplo, S3)
Dynamic
Atualização automática
Qualquer sessão
Análise em tempo real
Criar tabelas: Configurando o Snowflake
Antes de executar os exemplos deste tutorial, você precisará de acesso a um ambiente Snowflake. Aqui estão várias maneiras de você se conectar e executar comandos do Snowflake:
1. Interface da Web do Snowflake (Snowsight)
A maneira mais simples de começar é por meio da interface da Web do Snowflake:
2. SnowSQL (ferramenta de linha de comando)
Para acesso à linha de comando:
Você pode encontrar as credenciais da sua conta Snowflake nos seguintes locais:
Por motivos de segurança, nunca compartilhe ou confie essas credenciais. Armazene-os de forma segura em variáveis de ambiente ou em um arquivo de configuração.
3. Conexão Python
Se estiver usando Python, você poderá usar a biblioteca
snowflake-connector-python:Observação de segurança importante:
Agora que nossa configuração está pronta, vamos criar tabelas!
Criação de tabelas no Snowflake: Exemplos passo a passo
Exemplo 1: Criação de uma tabela Snowflake simples
Vamos criar uma tabela para armazenar as informações do cliente. Este exemplo demonstra a criação básica de tabelas com diferentes tipos de dados e restrições.
Pontos-chave sobre este exemplo:
CREATE OR REPLACE TABLE- Cria uma nova tabela ou a substitui se ela já existirPRIMARY KEY- Garante a identificação exclusiva de cada registroNOT NULL- Evita valores nulos em campos obrigatóriosUNIQUE- Garante que os endereços de e-mail não sejam duplicadosTIMESTAMP_NTZ- Carimbo de data/hora sem fuso horárioDEFAULT- Define automaticamente o registro de data e hora da criaçãoExemplo 2: Criação de uma tabela temporária
As tabelas temporárias são perfeitas para o processamento de dados intermediários. Aqui está um exemplo que cria uma tabela temporária para analisar os pedidos dos clientes:
Pontos importantes sobre tabelas temporárias:
TEMPORARYindica que essa tabela só existirá na sessão atual. Isso significa que outros usuários não podem ver ou acessar essa tabela.CREATE TABLE AS(CTAS) permite que você crie e preencha uma tabela em uma única etapa, combinando a definição da tabela com um comando SELECT.Exemplo 3: Criando uma tabela externa no Snowflake
Este exemplo mostra como criar uma tabela externa que lê dados de arquivos armazenados em um bucket de armazenamento em nuvem:
A primeira instrução define uma especificação de formato de arquivo que informa ao Snowflake como analisar arquivos CSV externos, incluindo o delimitador, o tratamento de cabeçalho e as representações de valor NULL.
A segunda instrução cria um objeto de estágio que estabelece uma conexão com o armazenamento em nuvem externo (nesse caso, S3) usando as credenciais fornecidas. Esse estágio funciona como um ponto de referência para acessar os arquivos de dados externos.
O terceiro comando cria a tabela externa propriamente dita, usando definições de coluna com cláusulas AS para converter explicitamente os dados brutos de string do CSV em tipos de dados adequados do Snowflake. A cláusula WITH LOCATION aponta para o caminho específico dentro do estágio em que os arquivos residem.
O parâmetro PATTERN filtra quais arquivos devem ser incluídos usando a correspondência regex, garantindo que apenas os arquivos CSV sejam processados.
Pré-requisitos para executar essa consulta de criação de tabela externa:
1. Acesso a uma conta Snowflake com permissões para:
2. Credenciais válidas do AWS (
AWS_KEY_IDeAWS_SECRET_KEY) com permissões para:3. Requisitos de dados de origem:
customer_idcomo stringpurchase_datecomo dataproduct_idcomo stringamountas decimal4. Conectividade de rede:
5. Recursos de computação:
Exemplo 4: Criação de uma tabela dinâmica
Este exemplo cria uma tabela dinâmica que mantém um resumo atualizado dos dados de vendas:
O parâmetro
TARGET_LAGde "20 minutos" define o atraso máximo permitido entre as atualizações da tabela de origem e o momento em que essas alterações são refletidas na tabela dinâmica. Isso garante a atualização dos dados dentro dessa janela de tempo.O parâmetro
WAREHOUSEespecifica quais recursos de computação (nesse caso,COMPUTE_WH) serão usados para atualizar periodicamente a tabela dinâmica. Esse depósito deve ter capacidade adequada para lidar com as operações de atualização.A tabela dinâmica atualiza automaticamente seu conteúdo quando a tabela subjacente
sales_transactionsé alterada, sem necessidade de intervenção manual. Isso fornece recursos de análise quase em tempo real.Ao manter resumos de vendas diárias pré-agregadas agrupadas por categoria de produto, a tabela dinâmica permite consultas mais rápidas em comparação com o cálculo dessas métricas sob demanda a partir dos dados brutos da transação. Isso melhora o desempenho da consulta para casos de uso de relatórios e análises.
Cada um desses exemplos demonstra diferentes cenários de criação de tabelas que você pode encontrar em aplicativos do mundo real. Lembre-se de ajustar os nomes das colunas, os tipos de dados e outros parâmetros de acordo com suas necessidades específicas.
Práticas recomendadas para criar tabelas no Snowflake
Vamos explorar algumas práticas recomendadas que você deve seguir ao criar tabelas no Snowflake para garantir a manutenção, o desempenho e a qualidade dos dados.
1. Convenções de nomenclatura
Sempre use nomes claros e consistentes para suas tabelas e colunas:
Dicas para nomear:
dev_,test_,prod_)2. Tipos de dados de coluna
Escolha o tipo de dados correto para economizar armazenamento e melhorar o desempenho:
Tipos de dados comuns a serem usados:
NUMBER/INTEGER: Para números inteirosDECIMAL/NUMERIC: Para números decimais precisos (especialmente dinheiro)VARCHAR: Para texto com um comprimento máximo conhecidoTEXT: Para textos de comprimento ilimitadoTIMESTAMP_NTZ: Para datas e horários (sem fuso horário)BOOLEAN: Para valores verdadeiro/falso3. Usando chaves de clustering
Adicione chaves de clustering para melhorar o desempenho da consulta:
Quando você deve usar o clustering:
4. Adição de restrições de tabela
Use restrições para manter seus dados limpos:
Restrições importantes:
PRIMARY KEY: Para identificadores exclusivosFOREIGN KEY: Para vincular tabelasNOT NULL: Para campos obrigatóriosUNIQUE: Para campos que não podem ter duplicatasCHECK: Para validação simples de dados5. Erros comuns que você deve evitar
Você não deve fazer isso:
Em vez disso, faça o seguinte:
A versão aprimorada garante a integridade dos dados com uma chave primária, usa tipos de dados corretos para datas e números para permitir filtragem e cálculos eficientes e mantém a consistência nas definições de coluna para melhorar a legibilidade e a compatibilidade.
6. Dicas de desempenho
Ao otimizar o desempenho da tabela no Snowflake, você pode melhorar significativamente a velocidade de consulta e reduzir os custos de armazenamento. Siga estas práticas recomendadas para garantir que suas tabelas sejam eficientes e dimensionáveis.
7. Práticas recomendadas de segurança
Medidas de segurança adequadas são essenciais para proteger dados confidenciais e controlar o acesso. Implemente essas práticas recomendadas para proteger seu ambiente Snowflake contra acesso não autorizado e violações de dados.
Lembre-se: Uma mesa bem projetada facilita seu trabalho mais tarde. Reserve um tempo para planejar a estrutura da sua mesa antes de criá-la!
Conclusão
Neste tutorial, abordamos os aspectos essenciais da criação de tabelas no Snowflake, incluindo:
Esse conhecimento forma a base para a criação de soluções de dados eficientes e dimensionáveis no Snowflake.
Próximas etapas
Para aprofundar sua experiência com o Snowflake, confira estes valiosos recursos:
1. Cursos interativos:
2. Tutoriais abrangentes:
3. Recursos de carreira:
Não se esqueça de que a melhor maneira de aprender é fazendo. Comece a criar tabelas, faça experiências com diferentes tipos e crie projetos reais. À medida que você encontrar desafios, consulte esses recursos e continue explorando os novos recursos do Snowflake.