Cópia de dados de um estágio S3¶
Carregue os dados de seus arquivos preparados para a tabela de destino.
Load your data¶
Execute COPY INTO <tabela> para carregar seus dados na tabela de destino.
Nota
O carregamento de dados requer um warehouse. Se você estiver usando um warehouse que não esteja configurado para retomada automática, execute ALTER WAREHOUSE para retomar o warehouse. Note que iniciar o warehouse pode demorar até cinco minutos.
ALTER WAREHOUSE mywarehouse RESUME;
O exemplo a seguir carrega dados de arquivos no estágio denominado my_ext_stage criado em Create an S3 stage. Usando a correspondência de padrões, a instrução só carrega arquivos cujos nomes começam com a cadeia de caracteres sales:
COPY INTO mytable FROM @my_ext_stage PATTERN='.*sales.*.csv';
Observe que as opções de formato de arquivo não são especificadas porque um formato de arquivo nomeado foi incluído na definição do estágio.
O exemplo a seguir carrega todos os arquivos prefixados com data/files em seu bucket S3 usando o formato de arquivo my_csv_format nomeado, criado em Preparação para carregar dados:
COPY INTO mytable FROM s3://mybucket/data/files credentials=(AWS_KEY_ID='$AWS_ACCESS_KEY_ID' AWS_SECRET_KEY='$AWS_SECRET_ACCESS_KEY') FILE_FORMAT = (FORMAT_NAME = my_csv_format);
O seguinte exemplo ad hoc carrega dados de todos os arquivos no bucket S3. O comando COPY especifica as opções de formato de arquivo em vez de fazer referência a um formato de arquivo nomeado. Este exemplo carrega arquivos CSV com um delimitador de campo de canal (|). O comando COPY ignora a primeira linha nos arquivos de dados.
COPY INTO mytable
FROM s3://mybucket credentials=(AWS_KEY_ID='$AWS_ACCESS_KEY_ID' AWS_SECRET_KEY='$AWS_SECRET_ACCESS_KEY')
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = '|' SKIP_HEADER = 1);
Validate your data¶
Antes de carregar seus dados, você pode validar se os dados nos arquivos carregados serão carregados corretamente.
Para validar dados em um arquivo carregado, execute COPY INTO <tabela> no modo de validação usando o parâmetro VALIDATION_MODE. O parâmetro VALIDATION_MODE retorna os erros que encontra no arquivo. Você pode então modificar os dados no arquivo para garantir que eles sejam carregados sem erros.
Além disso, COPY INTO <tabela> fornece a opção de cópia ON_ERROR para especificar uma ação a ser executada se forem encontrados erros em um arquivo durante o carregamento.
Monitor data loads¶
O Snowflake retém dados históricos para os comandos COPY INTO executados dentro dos 14 dias anteriores. Os metadados podem ser usados para monitorar e gerenciar o processo de carregamento, incluindo a exclusão de arquivos após a conclusão do carregamento:
Monitor the status of each COPY INTO <tabela> command on the Query History page of Snowsight.
Use a LOAD_HISTORY exibição do Information Schema para recuperar o histórico dos dados carregados nas tabelas usando o comando COPYINTO.
Copy files from one stage to another¶
Use o comando COPY FILES para organizar os dados em um único local, copiando arquivos de um estágio nomeado para outro.
O exemplo a seguir copia todos os arquivos de um estágio de origem (src_stage) para um estágio de destino (trg_stage):
COPY FILES
INTO @trg_stage
FROM @src_stage;
Você também pode especificar uma lista de nomes de arquivos para copiar ou copiar arquivos usando correspondência de padrões. Para obter mais informações, consulte os exemplos COPYFILES.