O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a publicação de blog
COPIAR com MODELO
É possível usar modelos do Redshift com comandos COPY para simplificar a sintaxe dos comandos e garantir a consistência nas operações de carregamento de dados. Em vez de especificar os mesmos parâmetros de formatação repetidamente, defina-os uma vez em um modelo e faça referência ao modelo em seus comandos COPY. Quando você usa um modelo, o comando COPY associa os parâmetros do modelo a quaisquer parâmetros especificados diretamente no comando. Se o mesmo parâmetro aparecer no modelo e no comando, o parâmetro do comando terá precedência. Para obter mais informações, consulte CREATE TEMPLATE.
Os modelos para o comando COPY podem ser criados com:
Para ver uma lista completa de parâmetros compatíveis, consulte o comando COPY.
Permissão obrigatória
Para usar um modelo em um comando COPY, você deve ter:
-
Todas as permissões necessárias para executar o comando COPY (consulte Permissões obrigatórias).
-
Uma das seguintes permissões de modelo:
-
Privilégios de superusuário.
-
Privilégio USAGE no modelo e privilégio USAGE no esquema que contém o modelo.
-
Sintaxe
COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;
Parâmetros
- database_name
-
(Opcional) O nome do banco de dados no qual o modelo existe. Se não especificado, será usado o banco de dados atual.
- schema_name
-
(Opcional) O nome do esquema no qual o modelo existe. Se não for especificado, o modelo será pesquisado no caminho de pesquisa atual.
- template_name
-
O nome do modelo a ser usado em COPY.
Observações de uso
Os parâmetros específicos do comando (origem, destino e autorização) ainda devem ser especificados no comando COPY.
Os modelos não podem conter especificações de arquivo de manifesto para comandos COPY.
Exemplos
Os seguintes exemplos mostram como criar um modelo e usá-lo em comandos COPY:
CREATE TEMPLATE public.test_template FOR COPY AS CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100; COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' USING TEMPLATE public.test_template;
Quando existe um parâmetro no modelo e no comando, o parâmetro do comando tem precedência. Neste exemplo, se o modelo public.test_template contiver DELIMITER '|', mas o comando COPY especificar DELIMITER ',', o delimitador de vírgula (,) do comando será usado em vez do delimitador de barra vertical (|) do modelo.
COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' DELIMITER ',' USING TEMPLATE public.test_template;