Carregar dados em um banco de dados - Amazon Redshift

Carregar dados em um banco de dados

É possível usar o editor de consultas v2 para carregar dados em um banco de dados em um cluster ou um grupo de trabalho do Amazon Redshift.

Carregar dados de exemplo

O editor de consultas v2 vem com dados e blocos de anotações de exemplo disponíveis para serem carregados em um banco de dados de exemplo e esquema correspondente.

Para carregar dados de exemplo, escolha o ícone External associado aos dados de exemplo que você deseja carregar. Depois, o editor de consultas v2 carrega os dados em um esquema no banco de dados sample_data_dev e cria uma pasta de blocos de anotações salvos em sua pasta Notebooks (Blocos de anotações).

Os conjuntos de dados de exemplo a seguir estão disponíveis.

tickit

A maioria dos exemplos na documentação do Amazon Redshift usa um exemplo de dados chamado tickit. Esses dados consistem em sete tabelas: duas de fatos e cinco de dimensões. Quando você carrega esses dados, o esquema tickit é atualizado com dados de exemplo. Para obter informações sobre dados tickit, consulte Banco de dados de exemplo no Guia do desenvolvedor de banco de dados do Amazon Redshift.

tpch

Esses dados são usados para um parâmetro de comparação de apoio a decisões. Quando você carrega esses dados, o esquema tpch é atualizado com dados de exemplo. Para obter mais informações sobre os tipos de dados tpch, consulte TPC-H.

tpcds

Esses dados são usados para um parâmetro de comparação de apoio a decisões. Quando você carrega esses dados, o esquema tpcds é atualizado com dados de exemplo. Para obter mais informações sobre os tipos de dados tpcds, consulte TPC-DC.

Carregar dados do Amazon S3

É possível carregar dados do Amazon S3 em uma tabela nova ou existente.

Para carregar dados para uma tabela existente

O editor de consulta v2 utiliza o comando COPY para carregar dados do Amazon S3. O comando COPY gerado e usado no assistente de carregamento de dados do editor de consultas v2 é compatível com muitos parâmetros disponíveis para a sintaxe do comando COPY para copiar do Amazon S3. Para obter informações sobre o comando COPY e suas opções usadas para carregar dados do Amazon S3, consulte COPY do Amazon Simple Storage Service no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  1. Confirme se já foi criada a tabela no banco de dados onde você deseja carregar dados.

  2. Confirme se você está conectado ao banco de dados de destino no painel de visualização em árvore do editor de consultas v2 antes de continuar. É possível criar uma conexão usando o menu de contexto (clique com o botão direito do mouse) para o cluster ou o grupo de trabalho no qual os dados serão carregados.

    Selecione LoadLoad data (Carregar dados).

  3. Em Fonte de dados, selecione Carregar de um bucket do S3.

  4. Em S3 URIs (URIs do S3), escolha Browse S3 (Navegar pelo S3) para procurar o bucket do Amazon S3 que contém os dados a serem carregados.

  5. Se o bucket do Amazon S3 especificado não estiver na mesma Região da AWS que a tabela de destino, selecione a S3 file location (Localização do arquivo do S3) para a Região da AWS onde os dados estão localizados.

  6. Selecione This file is a manifest file (Este arquivo é um arquivo manifesto) se o arquivo do Amazon S3 for um manifesto contendo vários URIs de bucket do Amazon S3.

  7. Selecione o File format (Formato do arquivo) para o arquivo a ser carregado. Os formatos de dados compatíveis são CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET e ORC. Dependendo do formato de arquivo especificado, é possível escolher a respectivas File options (Opções de arquivos). Você também pode selecionar Data is encrypted (Os dados são criptografados), se os dados estiverem criptografados, e inserir o nome do recurso da Amazon (ARN) da chave KMS usada para criptografar os dados.

    Se você escolher CSV ou DELIMITADOR, também poderá escolher o Caractere delimitador e decidir se deseja Ignorar linhas de cabeçalho se o número especificado de linhas for nomes de colunas em vez de dados a serem carregados.

  8. Escolha um método de compactação para compactar o arquivo. O padrão é sem compactação.

  9. (Opcional) Advanced settings (Configurações avançadas) oferece suporte a vários parâmetros da conversão de dados e operações de carregamento. Insira essas informações conforme necessário para o arquivo.

    Para obter mais informações sobre conversão de dados e parâmetros de carregamento de dados, consulte Parâmetros de conversão de dados e Operações de carregamento de dados no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  10. Escolha Próximo.

  11. Escolha Carregar tabela existente.

  12. Confirme ou selecione a localização da Target table (Tabela de destino), incluindo Cluster or workgroup (Cluster ou grupo de trabalho), Database (Banco de dados), Schema (Esquema) e Table (Tabela) em que os dados serão carregados.

  13. Escolha uma função do IAM que tenha as permissões necessários para carregar dados do Amazon S3.

  14. (Opcional) Selecione os nomes das colunas para inseri-las em Column mapping (Mapeamento de colunas) para mapear colunas na ordem do arquivo de dados de entrada.

  15. Selecione Load data (Carregar dados) para iniciar o carregamento de dados.

    Quando o carregamento for concluído, exibe-se o editor de consultas o comando COPY gerado que foi usado para carregar seus dados. Exibe-se Result (Resultado) do COPY. Se for concluído corretamente, agora você poderá usar o SQL para selecionar dados da tabela carregada. Quando houver um erro, consulte a visualização do sistema STL_LOAD_ERRORS para obter mais detalhes. Para obter informações sobre erros do comando COPY, consulte STL_LOAD_ERRORS no Guia do desenvolvedor de banco de dados do Amazon Redshift.

Quando você carrega dados em uma nova tabela, o editor de consultas v2 cria a tabela no banco de dados, depois carrega os dados como ações separadas no mesmo fluxo de trabalho.

Como carregar dados em uma nova tabela

O editor de consulta v2 utiliza o comando COPY para carregar dados do Amazon S3. O comando COPY gerado e usado no assistente de carregamento de dados do editor de consultas v2 é compatível com muitos parâmetros disponíveis para a sintaxe do comando COPY para copiar do Amazon S3. Para obter informações sobre o comando COPY e suas opções usadas para carregar dados do Amazon S3, consulte COPY do Amazon Simple Storage Service no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  1. Confirme se você está conectado ao banco de dados de destino no painel de visualização em árvore do editor de consultas v2 antes de continuar. É possível criar uma conexão usando o menu de contexto (clique com o botão direito do mouse) para o cluster ou o grupo de trabalho no qual os dados serão carregados.

    Selecione LoadLoad data (Carregar dados).

  2. Em Fonte de dados, selecione Carregar de um bucket do S3.

  3. Em S3 URIs (URIs do S3), escolha Browse S3 (Navegar pelo S3) para procurar o bucket do Amazon S3 que contém os dados a serem carregados.

  4. Se o bucket do Amazon S3 especificado não estiver na mesma Região da AWS que a tabela de destino, selecione a S3 file location (Localização do arquivo do S3) para a Região da AWS onde os dados estão localizados.

  5. Selecione This file is a manifest file (Este arquivo é um arquivo manifesto) se o arquivo do Amazon S3 for um manifesto contendo vários URIs de bucket do Amazon S3.

  6. Selecione o File format (Formato do arquivo) para o arquivo a ser carregado. Os formatos de dados compatíveis são CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET e ORC. Dependendo do formato de arquivo especificado, é possível escolher a respectivas File options (Opções de arquivos). Você também pode selecionar Data is encrypted (Os dados são criptografados), se os dados estiverem criptografados, e inserir o nome do recurso da Amazon (ARN) da chave KMS usada para criptografar os dados.

    Se você escolher CSV ou DELIMITADOR, também poderá escolher o Caractere delimitador e decidir se deseja Ignorar linhas de cabeçalho se o número especificado de linhas for nomes de colunas em vez de dados a serem carregados.

  7. Escolha um método de compactação para compactar o arquivo. O padrão é sem compactação.

  8. (Opcional) Advanced settings (Configurações avançadas) oferece suporte a vários parâmetros da conversão de dados e operações de carregamento. Insira essas informações conforme necessário para o arquivo.

    Para obter mais informações sobre conversão de dados e parâmetros de carregamento de dados, consulte Parâmetros de conversão de dados e Operações de carregamento de dados no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  9. Escolha Próximo.

  10. Escolha Carregar nova tabela.

    As colunas da tabela são inferidas dos dados de entrada. Você pode modificar a definição do esquema da tabela adicionando colunas e detalhes da tabela. Para reverter para o esquema de tabela inferida do editor de consultas v2, escolha Restaurar os padrões.

  11. Confirme ou selecione a localização da Tabela de destino, incluindo o Cluster ou grupo de trabalho, o Banco de dados e o Esquema em que os dados são carregados. Insira um nome para a Tabela que será criada.

  12. Escolha uma função do IAM que tenha as permissões necessários para carregar dados do Amazon S3.

  13. Escolha Criar tabela para criar a tabela usando a definição mostrada.

    Um resumo é exibido para revisão da definição da tabela. A tabela é criada no banco de dados. Para excluir a tabela posteriormente, execute um comando SQL DROP TABLE. Para obter mais informações, consulte DROP TABLE no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  14. Selecione Load data (Carregar dados) para iniciar o carregamento de dados.

    Quando o carregamento for concluído, exibe-se o editor de consultas o comando COPY gerado que foi usado para carregar seus dados. Exibe-se Result (Resultado) do COPY. Se for concluído corretamente, agora você poderá usar o SQL para selecionar dados da tabela carregada. Quando houver um erro, consulte a visualização do sistema STL_LOAD_ERRORS para obter mais detalhes. Para obter informações sobre erros do comando COPY, consulte STL_LOAD_ERRORS no Guia do desenvolvedor de banco de dados do Amazon Redshift.

Carregar dados de uma configuração e fluxo de trabalho de arquivo local

É possível carregar dados de um arquivo local em uma tabela nova ou existente.

Configuração do administrador para carregar dados de um arquivo local

Seu administrador do editor de consultas v2 deve especificar o bucket comum do Amazon S3 na janela Account settings (Configurações da conta). Os usuários da conta devem ser configurados com as permissões adequadas.

  • Permissões necessárias do IAM: os usuários que carregam do arquivo local devem ter as permissões s3:ListBucket, s3:GetBucketLocation, s3:putObject, s3:getObject e s3:deleteObject. O prefixo opcional pode ser especificado para limitar o uso desse bucket relacionado ao editor de consultas v2 a objetos com esse prefixo. Você pode usar essa opção ao usar esse mesmo bucket do Amazon S3 para outros usos além do editor de consultas v2. Para obter mais informações sobre buckets e prefixos, consulte Managing user access to specific folders (Gerenciar o acesso do usuário a pastas específicas) no Guia do usuário do Amazon Simple Storage Service. Para garantir que não seja permitido o acesso aos dados entre usuários, recomendamos que o administrador do editor de consultas v2 use uma política de bucket do Amazon S3 para restringir o acesso a objetos com base em aws:userid. O exemplo a seguir trata de permissões do Amazon S3 para um <staging-bucket-name> com acesso de leitura/gravação somente a objetos do Amazon S3 com aws:userid como um prefixo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }
  • Separação de dados: recomendamos que os usuários não tenham acesso aos dados uns dos outros (mesmo que brevemente). O carregamento de um arquivo local usa o bucket de preparação do Amazon S3 configurado pelo administrador do editor de consultas v2. Configure a política para o bucket de preparação a fim de fornecer separação de dados entre usuários. O exemplo a seguir mostra uma política de bucket que separa os dados entre os usuários do <staging-bucket-name>.

    { "Version": "2012-10-17", "Statement": [ {"Sid": "userIdPolicy", "Effect": "Deny", "Principal": "*", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "NotResource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }

Carregar dados de um arquivo local

Como carregar dados de um arquivo local em uma tabela existente

O administrador do editor de consultas v2 deve especificar o bucket comum do Amazon S3 na janela Configurações da conta. O editor de consultas v2 carrega automaticamente o arquivo local em um bucket comum do Amazon S3 utilizado por sua conta, depois usa o comando COPY para carregar dados. O comando COPY gerado e executado pela janela Load local file (Carregar arquivo local) do editor de consultas v2 é compatível com muitos parâmetros disponíveis para a sintaxe do comando COPY para copiar do Amazon S3. Para obter informações sobre o comando COPY e suas opções usadas para carregar dados do Amazon S3, consulte COPY from Amazon S3 (COPY do Amazon S3) no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  1. Confirme se já foi criada a tabela no banco de dados onde você deseja carregar dados.

  2. Confirme se você está conectado ao banco de dados de destino no painel de visualização em árvore do editor de consultas v2. É possível criar uma conexão usando o menu de contexto (clique com o botão direito do mouse) para o cluster ou o grupo de trabalho no qual os dados serão carregados.

  3. Selecione LoadLoad data (Carregar dados).

  4. Em Data source (Fonte de dados), selecione Load from local file (Carregar do arquivo local).

  5. Selecione Procurar para procurar o arquivo que contém os dados e Carregar arquivo. Por padrão, são exibidos arquivos com extensão .csv, .avro, .parquet e .orc, mas você pode escolher outros tipos de arquivo. O tamanho máximo do arquivo é de 100 MB.

  6. Selecione o File format (Formato do arquivo) para o arquivo a ser carregado. Os formatos de dados compatíveis são CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET e ORC. Dependendo do formato de arquivo especificado, é possível escolher a respectivas File options (Opções de arquivos). Você também pode selecionar Data is encrypted (Os dados são criptografados), se os dados estiverem criptografados, e inserir o nome do recurso da Amazon (ARN) da chave KMS usada para criptografar os dados.

    Se você escolher CSV ou DELIMITADOR, também poderá escolher o Caractere delimitador e decidir se deseja Ignorar linhas de cabeçalho se o número especificado de linhas for nomes de colunas em vez de dados a serem carregados.

  7. (Opcional) Advanced settings (Configurações avançadas) oferece suporte a vários parâmetros da conversão de dados e operações de carregamento. Insira essas informações conforme necessário para o arquivo.

    Para obter mais informações sobre conversão de dados e parâmetros de carregamento de dados, consulte Parâmetros de conversão de dados e Operações de carregamento de dados no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  8. Escolha Próximo.

  9. Escolha Carregar tabela existente.

  10. Confirme ou selecione a localização da Target table (Tabela de destino), incluindo Cluster or workgroup (Cluster ou grupo de trabalho), Database (Banco de dados), Schema (Esquema) e Table (Tabela) em que os dados serão carregados.

  11. (Opcional) É possível selecionar os nomes das colunas para inseri-las em Column mapping (Mapeamento de colunas) para mapear colunas na ordem do arquivo de dados de entrada.

  12. Selecione Load data (Carregar dados) para iniciar o carregamento de dados.

    Quando o carregamento for concluído, uma mensagem será exibida informando se o carregamento foi bem-sucedido ou não. Se for concluído corretamente, agora você poderá usar o SQL para selecionar dados da tabela carregada. Quando houver um erro, consulte a visualização do sistema STL_LOAD_ERRORS para obter mais detalhes. Para obter informações sobre erros do comando COPY, consulte STL_LOAD_ERRORS no Guia do desenvolvedor de banco de dados do Amazon Redshift.

    O modelo de comando COPY usado para carregar dados aparece no seu Query history (Histórico de consultas). Esse modelo de comando COPY mostra alguns dos parâmetros usados, mas não pode ser executado diretamente em uma guia do editor. Para obter mais informações sobre histórico de consultas, consulte Visualizar o histórico de consultas e guias.

Quando você carrega dados em uma nova tabela, o editor de consultas v2 cria a tabela no banco de dados, depois carrega os dados como ações separadas no mesmo fluxo de trabalho.

Como carregar dados de um arquivo local em uma tabela nova

Seu administrador do editor de consultas v2 deve especificar o bucket comum do Amazon S3 na janela Account settings (Configurações da conta). O arquivo local é automaticamente carregado para um bucket comum do Amazon S3 utilizado por sua conta e, depois, o comando COPY é utilizado pelo editor de consultas v2 para carregar dados. O comando COPY gerado e executado pela janela Load local file (Carregar arquivo local) do editor de consultas v2 é compatível com muitos parâmetros disponíveis para a sintaxe do comando COPY para copiar do Amazon S3. Para obter informações sobre o comando COPY e suas opções usadas para carregar dados do Amazon S3, consulte COPY from Amazon S3 (COPY do Amazon S3) no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  1. Confirme se você está conectado ao banco de dados de destino no painel de visualização em árvore do editor de consultas v2. É possível criar uma conexão usando o menu de contexto (clique com o botão direito do mouse) para o cluster ou o grupo de trabalho no qual os dados serão carregados.

  2. Selecione LoadLoad data (Carregar dados).

  3. Em Data source (Fonte de dados), selecione Load from local file (Carregar do arquivo local).

  4. Selecione Procurar para procurar o arquivo que contém os dados e Carregar arquivo. Por padrão, são exibidos arquivos com extensão .csv, .avro, .parquet e .orc, mas você pode escolher outros tipos de arquivo. O tamanho máximo do arquivo é de 100 MB.

  5. Selecione o File format (Formato do arquivo) para o arquivo a ser carregado. Os formatos de dados compatíveis são CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET e ORC. Dependendo do formato de arquivo especificado, é possível escolher a respectivas File options (Opções de arquivos). Você também pode selecionar Data is encrypted (Os dados são criptografados), se os dados estiverem criptografados, e inserir o nome do recurso da Amazon (ARN) da chave KMS usada para criptografar os dados.

    Se você escolher CSV ou DELIMITADOR, também poderá escolher o Caractere delimitador e decidir se deseja Ignorar linhas de cabeçalho se o número especificado de linhas for nomes de colunas em vez de dados a serem carregados.

  6. (Opcional) Advanced settings (Configurações avançadas) oferece suporte a vários parâmetros da conversão de dados e operações de carregamento. Insira essas informações conforme necessário para o arquivo.

    Para obter mais informações sobre conversão de dados e parâmetros de carregamento de dados, consulte Parâmetros de conversão de dados e Operações de carregamento de dados no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  7. Escolha Próximo.

  8. Escolha Carregar nova tabela.

  9. Confirme ou selecione a localização da Tabela de destino, incluindo o Cluster ou grupo de trabalho, o Banco de dados e o Esquema em que os dados são carregados. Insira um nome para a Tabela que será criada.

  10. Escolha Criar tabela para criar a tabela usando a definição mostrada.

    Um resumo é exibido para revisão da definição da tabela. A tabela é criada no banco de dados. Para excluir a tabela posteriormente, execute um comando SQL DROP TABLE. Para obter mais informações, consulte DROP TABLE no Guia do desenvolvedor de banco de dados do Amazon Redshift.

  11. Selecione Load data (Carregar dados) para iniciar o carregamento de dados.

    Quando o carregamento for concluído, uma mensagem será exibida informando se o carregamento foi bem-sucedido ou não. Se for concluído corretamente, agora você poderá usar o SQL para selecionar dados da tabela carregada. Quando houver um erro, consulte a visualização do sistema STL_LOAD_ERRORS para obter mais detalhes. Para obter informações sobre erros do comando COPY, consulte STL_LOAD_ERRORS no Guia do desenvolvedor de banco de dados do Amazon Redshift.

    O modelo de comando COPY usado para carregar dados aparece no seu Query history (Histórico de consultas). Esse modelo de comando COPY mostra alguns dos parâmetros usados, mas não pode ser executado diretamente em uma guia do editor. Para obter mais informações sobre histórico de consultas, consulte Visualizar o histórico de consultas e guias.