Consultar um data lake - Amazon Redshift

Consultar um data lake

Você pode consultar dados em um data lake do Amazon S3 seguindo o conjunto de tarefas deste tutorial. Primeiro, você cria um esquema externo para referenciar o banco de dados externo no AWS Glue Data Catalog. Depois, você pode consultar dados em um data lake do Amazon S3.

Demonstração: consultar um data lake

Para saber como consultar um data lake, assista ao vídeo a seguir.

Pré-requisitos

Antes de trabalhar com seu data lake no editor de consultas v2, confirme se os itens a seguir foram configurados em seu ambiente do Amazon Redshift:

  • Rastreie seus dados do Amazon S3 usando o AWS Glue e habilite o Catálogo de Dados para o AWS Lake Formation.

  • Crie um perfil do IAM para o Amazon Redshift usando o Catálogo de Dados do AWS Glue habilitado para o AWS Lake Formation. Para obter detalhes sobre esse procedimento, consulte Como criar um perfil do IAM para o Amazon Redshift usando um AWS Glue Data Catalog habilitado para o AWS Lake Formation. Para obter mais informações sobre como usar o Redshift Spectrum e o Lake Formation, consulte Usar o Redshift Spectrum com o AWS Lake Formation.

  • Conceda permissões SELECT na tabela a ser consultada no banco de dados do Lake Formation. Para obter detalhes sobre esse procedimento, consulte Como conceder permissões SELECT na tabela a ser consultada no banco de dados do Lake Formation.

    Você pode verificar no console do Lake Formation (https://console.aws.amazon.com/lakeformation/), na seção Permissões, página Permissões do data lake, se o perfil do IAM, o banco de dados do AWS Glue e as tabelas têm as permissões adequadas.

  • Confirme se seu usuário conectado tem permissão para criar esquemas no banco de dados do Amazon Redshift e acessar dados em seu data lake. Ao se conectar a um banco de dados no editor de consultas v2, você escolhe um método de autenticação que inclui credenciais, que podem ser um usuário do banco de dados ou um usuário do IAM. O usuário conectado deve ter as permissões e os privilégios de banco de dados adequados, como um superuser. O usuário admin do Amazon Redshift que criou o cluster ou grupo de trabalho tem privilégios de superuser e pode criar esquemas e gerenciar o banco de dados do Redshift. Para obter mais informações sobre como se conectar a um banco de dados com o editor de consultas v2, consulte Conectar-se a um banco de dados do Amazon Redshift.

Criar um esquema externo

Para consultar dados em um data lake do Amazon S3, comece criando um esquema externo. Um esquema externo referencia o banco de dados no AWS Glue Data Catalog.

  1. Na visualização Editor do editor de consultas v2, escolha CreateCriar e Esquema.

  2. Digite um Schema name (Nome do esquema).

  3. Em Tipo de esquema, escolha Externo.

  4. Nos detalhes do Catálogo de Dados, a opção Região assume por padrão a Região da AWS em que o banco de dados do Redshift está localizado.

  5. Escolha o Banco de dados do AWS Glue para o qual o esquema externo será mapeado e que contém referências às tabelas do AWS Glue.

  6. Escolha um Perfil do IAM para o Amazon Redshift que tenha as permissões necessárias para consultar dados no Amazon S3.

  7. Opcionalmente, escolha um Perfil do IAM que tenha permissão para acessar o Catálogo de Dados.

  8. Selecione Create schema (Criar esquema).

    O esquema aparece sob o banco de dados no painel de exibição em árvore.

Ao criar o esquema, se você receber um erro de permissão negada para o banco de dados, verifique se o usuário conectado tem o privilégio de banco de dados para criar um esquema.

Consultar dados no data lake do Amazon S3

Você usa o esquema criado no procedimento anterior.

  1. No painel de exibição em árvore, escolha o esquema.

  2. Para visualizar uma definição de tabela, escolha uma tabela. As colunas da tabela e os tipos de dados são exibidos.

  3. Para consultar uma tabela, escolha a tabela e, no menu de contexto (clique com o botão direito do mouse), selecione Selecionar tabela para gerar uma consulta.

  4. Execute a consulta no Editor.

    O exemplo de SQL a seguir foi gerado pelo editor de consultas v2 para consultar todas as linhas na tabela do AWS Glue chamada flightscsv. As colunas e linhas mostradas na saída são truncadas para simplicidade.

    SELECT * FROM "dev"."mydatalake_schema"."flightscsv"; year quarter month dom day_of_week fl_date unique_carrier airline_id carrier tail_num fl_num 2016 4 10 19 3 10/19/16 OO 20304 OO N753SK 3086 2016 4 10 19 3 10/19/16 OO 20304 OO N753SK 3086 2016 4 10 19 3 10/19/16 OO 20304 OO N778SK 3087 2016 4 10 19 3 10/19/16 OO 20304 OO N778SK 3087 ...