Etapa 12: Consulte os dados no data lake usando o Amazon Redshift Spectrum - AWS Lake Formation

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 12: Consulte os dados no data lake usando o Amazon Redshift Spectrum

Você pode configurar o Amazon Redshift Spectrum para consultar os dados importados para o data lake do Amazon Simple Storage Service (Amazon S3). Primeiro, crie uma função AWS Identity and Access Management (IAM) que seja usada para iniciar o cluster Amazon Redshift e consultar os dados do Amazon S3. Em seguida, conceda a essa função as permissões Select nas tabelas que você deseja consultar. Em seguida, conceder permissões do usuário para usar o Editor de consultas do Amazon Redshift. Por fim, crie um cluster do Amazon Redshift e execute consultas.

Você cria o cluster como administrador e consulta o cluster como analista de dados.

Para obter mais informações sobre o Amazon Redshift Spectrum, consulte Usar o Amazon Redshift Spectrum para consultar dados externos no Guia do desenvolvedor de banco de dados do Amazon Redshift.

Para configurar permissões para executar consultas do Amazon Redshift
  1. Abra o console IAM em https://console.aws.amazon.com/iam/. Entre como o usuário administrador que você criou Criar um usuário com acesso administrativo (nome de usuárioAdministrator) ou como um usuário com a política AdministratorAccess AWS gerenciada.

  2. No painel de navegação, escolha Policies.

    Se essa for a primeira vez que você escolhe Políticas, a página Bem-vindo às políticas gerenciadas será exibida. Escolha Começar.

  3. Escolha Criar política.

  4. Escolha a guia JSON.

  5. Cole no seguinte documento de política JSON.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Ao terminar, escolha Review (Revisar) para revisar a política. O validador de política indica se há qualquer erro de sintaxe.

  7. Na página Revisar política, insira o Nome como RedshiftLakeFormationPolicy na política que você está criando. Insira uma Description (Descrição) (opcional). Revise o Resumo da política para ver as permissões que são concedidas pela política. Em seguida, escolha Criar política para salvar seu trabalho.

  8. No painel de navegação do console do IAM, escolha Roles (Perfis) e, em seguida, Create role (Criar perfil).

  9. Em Select trusted entity (Selecionar entidade confiável), escolha AWS Service (Serviço).

  10. Escolha o serviço do Amazon Redshift para assumir essa função.

  11. Escolha o caso de uso Redshift Customizable (Personalizável pelo Redshift) para o serviço. Então, escolha Próximo: Permissões.

  12. Procure a política de permissões que você criou, RedshiftLakeFormationPolicy e marque a caixa de seleção ao lado do nome da política na lista.

  13. Escolha Próximo: etiquetas.

  14. Selecione Next: Review (Próximo: revisar).

  15. Em Role name (Nome da função), insira o nome RedshiftLakeFormationRole.

  16. (Opcional) Em Descrição da função, insira uma descrição para o novo perfil.

  17. Reveja a função e escolha Criar função.

Para conceder permissões Select na tabela a ser consultada no banco de dados do Lake Formation
  1. Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/. Faça login como administrador de data lake.

  2. No painel de navegação, em Permissões, escolha Permissões do Data Lake e, em seguida, escolha Conceder.

  3. Forneça as informações a seguir:

    • Para usuários e funções do IAM, selecione o perfil do IAM criado, RedshiftLakeFormationRole. Ao executar o editor de consulta do Amazon Redshift, ele usa esse perfil do IAM para conceder permissão aos dados.

    • Para o Banco de dados, selecione lakeformation_tutorial.

      A lista de tabelas é preenchida.

    • Em Tabela, escolha uma tabela na fonte de dados a ser consultada.

    • Escolha a permissão Selecionar tabela.

  4. Selecione Conceder.

Para configurar o Amazon Redshift Spectrum e executar consultas
  1. Abra o console do Amazon Redshift em https://console.aws.amazon.com/redshift. Faça login como usuário Administrator.

  2. Selecione Criar cluster.

  3. Na página Criar cluster, insira redshift-lakeformation-demo o Identificador do cluster.

  4. Para o Tipo de nó, selecione dc2.large.

  5. Role para baixo e, em Configurações do banco de dados, insira ou aceite estes parâmetros:

    • Nome de usuário administrador: awsuser

    • Senha do usuário administrador: (Choose a password)

  6. Expanda as permissões do cluster e, em Funções do IAM disponíveis, escolha RedshiftLakeFormationRole. Depois, escolha Add IAM role (Adicionar perfil do IAM).

  7. Se você precisar usar uma porta diferente do valor padrão de 5439, ao lado de Configurações adicionais, desative a opção Usar padrões. Expanda a seção Configurações do banco de dados e, em seguida, insira um novo número de Porta do banco de dados.

  8. Selecione Criar cluster.

    A página Clusters é carregada.

  9. Espere até que o status do cluster se torne Disponível. Escolha o ícone de atualização periodicamente.

  10. Conceda permissão ao analista de dados para executar consultas no cluster. Para fazer isso, execute as etapas a seguir:

    1. Abra o console do IAM em https://console.aws.amazon.com/iam/ e faça login como usuário Administrator.

    2. No painel de navegação, escolha Usuários e anexe as seguintes políticas gerenciadas ao usuário datalake_user.

      • AmazonRedshiftQueryEditor

      • AmazonRedshiftReadOnlyAccess

  11. Saia do console do Amazon Redshift e entre novamente como usuário datalake_user.

  12. Na barra de ferramentas vertical esquerda, escolha o ícone EDITOR para abrir o editor de consultas e conectar-se ao cluster. Se a caixa de diálogo Conectar ao banco de dados for exibida, escolha o nome do cluster redshift-lakeformation-demo e insira o nome do banco de dados dev, o nome do usuário awsuser e a senha que você criou. Então escolha Connect to database (Conectar-se ao banco de dados).

    nota

    Se os parâmetros de conexão não forem solicitados e outro cluster já estiver selecionado no editor de consultas, escolha Alterar conexão para abrir a caixa de diálogo Conectar ao banco de dados.

  13. Na caixa de texto Nova consulta 1, insira e execute a seguinte instrução para mapear o banco de dados lakeformation_tutorial no Lake Formation para o nome do esquema Amazon Redshift redshift_jdbc:

    Importante

    <account-id>Substitua por um número de AWS conta válido e <region>por um nome de AWS região válido (por exemplo,us-east-1).

    create external schema if not exists redshift_jdbc from DATA CATALOG database 'lakeformation_tutorial' iam_role 'arn:aws:iam::<account-id>:role/RedshiftLakeFormationRole' region '<region>';
  14. Na lista de esquemas, em Selecionar esquema, escolha redshift_jdbc.

    A lista de tabelas é preenchida. O editor de consultas mostra somente as tabelas nas quais você recebeu permissões de data lake do Lake Formation.

  15. No menu pop-up ao lado do nome da tabela, escolha Visualizar dados.

    O Amazon Redshift retorna as 10 primeiras linhas.

    Agora você pode executar consultas nas tabelas e colunas para as quais você tem permissões.