Consultar dados externos usando o Amazon Redshift Spectrum - Amazon Redshift

Consultar dados externos usando o Amazon Redshift Spectrum

Usando o Amazon Redshift Spectrum, é possível executar consultas e recuperar dados estruturados e semiestruturados dos arquivos no Amazon S3 com eficiência, sem a necessidade de carregar os dados em tabelas do Amazon Redshift. As consultas do Redshift Spectrum aplicam o paralelismo em massa para executar com muita rapidez grandes conjuntos de dados. Grande parte do processamento ocorre na camada do Redshift Spectrum e a maioria dos dados permanece no Amazon S3. Vários clusters podem consultar simultaneamente o mesmo conjunto de dados no Amazon S3 sem precisar criar cópias dos dados de cada cluster.

Visão geral do Amazon Redshift Spectrum

O Amazon Redshift Spectrum reside em servidores dedicados do Amazon Redshift que são independentes do seu cluster. O Amazon Redshift envia várias tarefas de computação intensiva para a camada do Redshift Spectrum, como a filtragem e a agregação de predicados. Por isso, as consultas do Redshift Spectrum utilizam muito menos a capacidade de processamento do seu cluster do que outras consultas. O Redshift Spectrum também dimensiona de forma inteligente. Com base nas demandas das consultas, o Redshift Spectrum pode usar milhares de instâncias para usufruir do processamento paralelo maciço.

As tabelas do Redshift Spectrum são criadas por meio da definição da estrutura dos arquivos e do seu registro como tabelas em um catálogo de dados externos. O catálogo de dados externos pode ser AWS Glue, o catálogo de dados que vem com o Amazon Athena ou sua própria metastore do Apache Hive. É possível criar e gerenciar tabelas externas a partir do Amazon Redshift usando comandos da linguagem de definição de dados (DDL) ou qualquer outra ferramenta que se conecte ao catálogo de dados externos. As alterações feitas no catálogo de dados externos são disponibilizadas instantaneamente para todos os clusters do Amazon Redshift.

Opcionalmente, você pode dividir as tabelas externas em partições de uma ou mais colunas. Definir partições como parte da tabela externa pode melhorar a performance. A melhora ocorre porque o otimizador de consultas do Amazon Redshift elimina as partições que não contêm dados para consulta.

Após definir suas tabelas do Redshift Spectrum, você pode consultar e unir as tabelas da mesma forma como faz com qualquer outra tabela do Amazon Redshift. O Redshift Spectrum não é compatível com operações de atualização em tabelas externas. Você pode adicionar tabelas do Redshift Spectrum a vários clusters do Amazon Redshift e consultar os mesmos dados no Amazon S3 a partir de qualquer cluster na mesma região da AWS. Quando você atualiza os arquivos de dados do Amazon S3, os dados são disponibilizados instantaneamente para consulta a partir de qualquer um dos clusters do Amazon Redshift.

O AWS Glue Data Catalog que você acessa pode ser criptografado para aumentar a segurança. Se o catálogo do AWS Glue estiver criptografado, você precisará da chave do AWS Key Management Service (AWS KMS) para o AWS Glue acessar o catálogo do AWS Glue. A criptografia do catálogo do AWS Glue não está disponível em todas as regiões da AWS. Para obter uma lista de regiões da AWS compatíveis, consulte Criptografia e acesso seguro para AWS Glue no AWS GlueGuia do desenvolvedor. Para obter mais informações sobre AWS GlueCriptografia do catálogo de dados, consulte Criptografar seu AWS Glue Data Catalog no AWS Glue Guia do desenvolvedor.

nota

Não é possível visualizar os detalhes das tabelas do Redshift Spectrum usando os mesmos recursos das tabelas padrão do Amazon Redshift, como PG_TABLE_DEF, STV_TBL_PERM, PG_CLASS, ou information_schema. Caso sua ferramenta de business intelligence ou análise não reconheça as tabelas externas do Redshift Spectrum, configure sua aplicação para consultar SVV_EXTERNAL_TABLES e SVV_EXTERNAL_COLUMNS.

Regiões do Amazon Redshift Spectrum

O Redshift Spectrum está disponível nas Regiões da AWS onde o Amazon Redshift está disponível, a menos que especificado de outra forma na documentação específica da região. Para a disponibilidade de Região da AWS em regiões comerciais, consulte Endpoints de serviço para a API do Redshift na Referência geral da Amazon Web Services.

Regiões do Amazon Redshift Spectrum

Observe as seguintes considerações sobre o Amazon Redshift Spectrum:

  • O cluster do Amazon Redshift e o bucket do Amazon S3 devem estar na mesma região da AWS.

  • O Redshift Spectrum não é compatível com roteamento aprimorado de VPC com clusters provisionados. Para acessar seus dados do Amazon S3, poderá ser necessário executar etapas de configuração adicionais. Para obter mais informações, consulte Redshift Spectrum e roteamento aprimorado de VPC no Guia de gerenciamento do Amazon Redshift.

  • O Redshift Spectrum é compatível com aliases de ponto de acesso do Amazon S3. Para obter mais informações, consulte Usar um alias em estilo de bucket para seu ponto de acesso no Guia do usuário do Amazon Simple Storage Service. Porém, o Redshift Spectrum não oferece suporte à VPC com aliases de ponto de acesso do Amazon S3. Para obter mais informações, consulte Redshift Spectrum e roteamento aprimorado de VPC no Guia de gerenciamento do Amazon Redshift.

  • Não é possível realizar operações de atualização ou exclusão em tabelas externas. Para criar uma nova tabela externa no esquema especificado, você pode usar CREATE EXTERNAL TABLE. Para obter mais informações sobre CREATE EXTERNAL TABLE AS, consulte CREATE EXTERNAL TABLE. Para inserir os resultados de uma consulta SELECT em tabelas externas existentes ou em catálogos externos, você pode usar INSERT (tabela externa). Para obter mais informações sobre INSERT (tabela externa), consulte INSERT (tabela externa).

  • A não ser que você esteja usando um AWS Glue Data Catalog habilitado para AWS Lake Formation, não é possível controlar as permissões do usuário em uma tabela externa. Em vez disso, é possível conceder e revogar permissões no esquema externo. Para obter mais informações sobre como trabalhar com o AWS Lake Formation, consulte Usar Redshift Spectrum com AWS Lake Formation.

  • Para executar as consultas do Redshift Spectrum, o usuário do banco de dados precisa ter permissão para criar tabelas temporárias no banco de dados. O exemplo a seguir concede permissão temporária no banco de dados spectrumdb para o grupo de usuários spectrumusers.

    grant temp on database spectrumdb to group spectrumusers;

    Para ter mais informações, consulte GRANT.

  • Ao usar o catálogo de dados do Athena ou do AWS Glue como um armazenamento de metadados, consulte “Cotas e limites” no Guia de gerenciamento de clusters do Amazon Redshift.

  • O Redshift Spectrum não oferece suporte ao Amazon EMR com Kerberos.