Skip to main content

Atena

Amazon Athena

Para adicionar uma conexão de banco de dados, clique no ícone de engrenagem no canto superior direito, e navegue para Configurações de administração > Bancos de dados > Adicionar um banco de dados.

Conexão e sincronização

Após conectar ao banco de dados, você verá a seção “Conexão e sincronização” que exibe o status atual da conexão e opções para gerenciar sua conexão com o banco de dados.

Aqui você pode sincronizar o esquema do banco de dados e reexaminar os valores dos campos, além de editar os detalhes da conexão.

Editar detalhes da conexão

Você pode editar essas configurações a qualquer momento (lembre-se de salvar suas alterações).

Nome de exibição

O nome de exibição do banco de dados na interface do Analytics.

Região

A região AWS onde seu banco de dados está hospedado, para Amazon Athena. Por exemplo, você pode inserir us-east-1.

Grupo de trabalho

Grupo de trabalho AWS. Por exemplo: primary. Veja a documentação sobre grupos de trabalho.

Diretório S3 de staging

Este diretório S3 de staging deve estar na mesma região especificada acima.

Access key

Parte das credenciais IAM para AWS. O Analytics irá criptografar essas credenciais.

Se estiver executando o Analytics na AWS e quiser usar a AWS Default Credentials Chain, deixe as chaves Access e Secret vazias.

Veja também nossas notas sobre conexão com Athena.

Secret Key

Parte das credenciais IAM para AWS. O Analytics irá criptografar essas credenciais.

Opções adicionais na string de conexão do Athena

Você pode especificar opções adicionais via uma string, por exemplo: UseResultsetStreaming=0;LogLevel=6.

Incluir ID do usuário e hash da query nas consultas

Isso pode ser útil para auditoria e depuração, mas impede que os bancos de dados armazenem os resultados em cache e pode aumentar seus custos. Ative este recurso se precisar rastrear quais usuários estão executando consultas específicas.

Reexecutar consultas para explorações simples

Desative esta opção se as pessoas quiserem clicar em Executar (o botão de play) antes de aplicar qualquer seleção do Summarize ou filtro.

Por padrão, o Analytics executa uma consulta assim que você escolhe uma opção de agrupamento no menu Summarize ou uma condição de filtro no menu de drill-through. Se o seu banco de dados for lento, pode ser interessante desativar a reexecução para evitar carregar dados a cada clique.

Escolher quando ocorrem sincroniações e varreduras

Veja sincronizações e varreduras.

Refazer fingerprint das tabelas periodicamente

O refingerprint periódico aumentará a carga no seu banco de dados.

Ative esta opção para escanear uma amostra dos valores sempre que o Analytics executar uma sincronização.

Uma consulta de fingerprint examina as primeiras 10.000 linhas de cada coluna e utiliza esses dados para estimar quantos valores únicos cada coluna tem, qual o valor mínimo e máximo para colunas numéricas e de timestamp, entre outros. Se você deixar esta opção desativada, o Analytics fará o fingerprint das colunas apenas uma vez durante a configuração.

Notas sobre conexão com Athena

Se você usa outros serviços AWS, recomendamos que crie uma conta de serviço AWS especial que tenha apenas as permissões necessárias para executar o Athena, e insira as credenciais IAM dessa conta para conectar o Analytics ao Athena.

Veja Identidade e gerenciamento de acesso no Athena.

Conectando usando AWS Default Credentials Chain

Se estiver executando o Analytics na AWS e quiser usar a AWS Default Credentials Chain, deixe as chaves Access e Secret vazias.

Em ambos os casos, o driver do Athena busca automaticamente as credenciais da sessão baseando-se na role IAM configurada.

Permissões e Políticas IAM

A maioria dos problemas que identificamos quando as pessoas tentam conectar ao AWS Athena envolve permissões. Consultar o AWS Athena requer permissões para:

  • AWS Athena.
  • AWS Glue.
  • O bucket S3 onde os resultados do Athena são armazenados.
  • Os recursos que o Athena consulta (ou seja, o(s) bucket(s) S3 que o Athena consulta).
  • Se estiver usando AWS Lake Formation, também é necessário conceder permissões do AWS Lake Formation pelo Console AWS (AWS Lake Formation > Permissões > Data Lake Permissions > Conceder permissões ao data lake; a role usada pelo Analytics precisa de permissões SELECT e DESCRIBE table).

Exemplo de Política IAM

Esta política oferece permissões de somente leitura para dados no S3. Você precisará especificar os buckets S3 que deseja que o Analytics possa consultar além do bucket S3 configurado onde os resultados são gravados.

Podem ser necessárias permissões adicionais para outras funcionalidades do Athena, como consultas federadas. Para detalhes, consulte a documentação do Athena.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Athena",
      "Effect": "Allow",
      "Action": [
        "athena:BatchGetNamedQuery",
        "athena:BatchGetQueryExecution",
        "athena:GetNamedQuery",
        "athena:GetQueryExecution",
        "athena:GetQueryResults",
        "athena:GetQueryResultsStream",
        "athena:GetWorkGroup",
        "athena:ListDatabases",
        "athena:ListDataCatalogs",
        "athena:ListNamedQueries",
        "athena:ListQueryExecutions",
        "athena:ListTagsForResource",
        "athena:ListWorkGroups",
        "athena:ListTableMetadata",
        "athena:StartQueryExecution",
        "athena:StopQueryExecution",
        "athena:CreatePreparedStatement",
        "athena:DeletePreparedStatement",
        "athena:GetPreparedStatement",
        "athena:GetTableMetadata"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Glue",
      "Effect": "Allow",
      "Action": [
        "glue:BatchGetPartition",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersion",
        "glue:GetTableVersions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "S3ReadAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::bucket1",
        "arn:aws:s3:::bucket1/*",
        "arn:aws:s3:::bucket2",
        "arn:aws:s3:::bucket2/*"
      ]
    },
    {
      "Sid": "AthenaResultsBucket",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:AbortMultipartUpload",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::bucket2",
        "arn:aws:s3:::bucket2/*"
      ]
    }
  ]
}

Se o Analytics também precisar criar tabelas, serão necessárias permissões adicionais do AWS Glue. A chave "Resource": "*" dá permissão para o usuário deletar e atualizar qualquer tabela:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "glue:BatchCreatePartition",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:CreateTable",
        "glue:CreateDatabase",
        "glue:UpdateTable",
        "glue:BatchDeletePartition",
        "glue:BatchDeleteTable",
        "glue:DeleteTable",
        "glue:CreatePartition",
        "glue:DeletePartition",
        "glue:UpdatePartition",
        "glue:GetCatalogImportStatus"
      ],
      "Resource": "*"
    }
  ]
}

Funcionalidades do modelo

Não existem (ainda) funcionalidades de modelo disponíveis para Athena.

Zona de risco

Veja Zona de Risco.

Leitura adicional


Leia a documentação para outras versões do Analytics.