

# Conectar o Athena a um metastore do Apache Hive
<a name="connect-to-data-source-hive-connecting-athena-to-an-apache-hive-metastore"></a>

Para conectar o Athena a um metastore do Apache Hive, crie e configure uma função do Lambda. Para uma implementação básica, execute todas as etapas necessárias no console de gerenciamento do Athena.

**nota**  
O procedimento a seguir requer que você tenha permissão para criar uma função personalizada do IAM para a função do Lambda. Se você não tiver permissão para criar uma função personalizada, poderá usar a [implementação de referência](connect-to-data-source-hive.md#connect-to-a-data-source-hive-features-reference-implementation) do Athena para criar uma função do Lambda separadamente e, depois, usar o console do AWS Lambda para escolher uma função existente do IAM para essa função. Para obter mais informações, consulte [Conectar o Athena a um metastore do Hive com uso de um perfil de execução do IAM existente](connect-data-source-hive-existing-iam-role.md).

**Para conectar o Athena a um metastore do Hive**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Se o painel de navegação do console não estiver visível, escolha o menu de expansão à esquerda.  
![\[Escolha o menu de expansão.\]](http://docs.aws.amazon.com/pt_br/athena/latest/ug/images/nav-pane-expansion.png)

1. Escolha **Fontes de dados e catálogos**.

1. No canto superior direito do console, escolha **Create data source** (Criar origem dos dados).

1. Na página **Choose a data source** (Escolher uma origem dos dados), em **Data sources** (Origens de dados), escolha **S3 - Apache Hive metastore**.

1. Escolha **Próximo**.

1. Na seção **Data source details** (Detalhes da origem dos dados), em **Data source name** (Nome da origem dos dados), insira o nome que deseja usar em suas instruções SQL ao consultar a origem dos dados pelo Athena. O nome pode ter até 127 caracteres e deve ser exclusivo na sua conta. Ele não poderá ser alterado após a criação. Os caracteres válidos são a-z, A-Z, 0-9, \$1 (sublinhado), @ (arroba) e - (hífen). Os nomes `awsdatacatalog`, `hive`, `jmx` e `system` são reservados pelo Athena e não podem ser usados como nomes de origens dos dados. 

1. Em ‭**Função do Lambda**, escolha **Criar função do Lambda** e, em seguida, **Criar uma nova função do Lambda no AWS Lambda**

   A página **AthenaHiveMetastoreFunction** é aberta no console do AWS Lambda. A página inclui informações detalhadas sobre o conector.  
![\[A página AthenaHiveMetastoreFunction no console do AWS Lambda.\]](http://docs.aws.amazon.com/pt_br/athena/latest/ug/images/connect-to-data-source-hive-4.png)

1. Em **Application settings** (Configurações da aplicação), insira os parâmetros para a função do Lambda.
   + **LambdaFuncName**: especifique um nome para a função. Por exemplo, **myHiveMetastore**.
   + **SpillLocation**: especifique um local do Amazon S3 nessa conta para armazenar os metadados de vazamento, caso o tamanho da resposta da função do Lambda exceda 4 MB.
   + **HMSUris**: insira o URI do host do metastore do Hive que usa o protocolo Thrift na porta 9083. Use a sintaxe `thrift://<host_name>:9083`.
   + **LambdaMemory**: especifique um valor entre 128 MB e 3008 MB. A função do Lambda aloca os ciclos de CPU proporcionalmente à quantidade de memória que você configura. O padrão é 1024.
   + **LambdaTimeout**: especifique o tempo máximo de execução de invocação do Lambda permitido em segundos de 1 a 900 (900 segundos são 15 minutos). O padrão é 300 segundos (5 minutos).
   + **VPCSecurityGroupIds**: insira uma lista separada por vírgulas de IDs de grupo de segurança da VPC para o metastore do Hive.
   + **VPCSubnetIds**: insira uma lista separada por vírgulas de IDs de sub-rede da VPC para o metastore do Hive.

1. Selecione **I acknowledge that this app creates custom IAM roles** (Eu reconheço que este aplicativo cria funções personalizadas do IAM e, em seguida, escolha **Deploy** (Implantar).  
![\[Implantar a aplicação de função do Lambda pelo console do AWS Lambda.\]](http://docs.aws.amazon.com/pt_br/athena/latest/ug/images/connect-to-data-source-hive-4a.png)

   Quando a implantação for concluída, sua função será exibida na lista de aplicações do Lambda. Agora que a função do metastore do Hive foi implantada em sua conta, você pode configurar o Athena para usá-la.

1. Retorne à página **Enter data source details** (Inserir detalhes da origem dos dados) do console do Athena.

1. Na seção **Lambda function** (Função do Lambda), escolha o ícone de atualização ao lado da caixa de pesquisa de funções do Lambda. Atualizar a lista de funções disponíveis faz com que a função recém-criada apareça na lista.

1. Escolha o nome da função que você acabou de criar no console do Lambda. O ARN da função do Lambda é exibido.

1. (Opcional) Para **Tags**, adicione pares de chave-valor a associar com essa origem dos dados. Para obter mais informações sobre tags, consulte [Marcar recursos do Athena com tags](tags.md).

1. Escolha **Próximo**.

1. Na página **Review and create** (Revisar e criar), analise os detalhes da origem dos dados e escolha **Create data source** (Criar origem dos dados). 

1. A seção **Data source details** (Detalhes da origem dos dados) da página de sua origem dos dados mostra informações sobre o novo conector. 

   Agora você poderá usar o **Data source name** (Nome da origem dos dados) especificado para fazer referência ao metastore do Hive em suas consultas SQL no Athena. Nas consultas SQL, use a seguinte sintaxe de exemplo, substituindo `hms-catalog-1` pelo nome do catálogo especificado anteriormente.

   ```
   SELECT * FROM hms-catalog-1.CustomerData.customers 
   ```

1. Para obter informações sobre como visualizar, editar ou excluir as origens dos dados criadas, consulte [Gerenciar suas fontes de dados](data-sources-managing.md).