

# Tutorial: Adicionar um crawler do AWS Glue
<a name="tutorial-add-crawler"></a>

Para este cenário do AWS Glue, será solicitado que você analise os dados de chegada das principais transportadoras aéreas para calcular a popularidade dos aeroportos de partida mês a mês. Você tem dados de voos do ano de 2016 no formato CSV armazenados no Amazon S3. Antes de transformar e analisar seus dados, você cataloga seus metadados no AWS Glue Data Catalog.

Neste tutorial, vamos adicionar um crawler que infere metadados desses logs de voos no Amazon S3 e cria uma tabela no Data Catalog.

**Topics**
+ [Pré-requisitos](#tutorial-add-crawler-prerequisites)
+ [Etapa 1: Adicionar um crawler](#tutorial-add-crawler-step1)
+ [Etapa 2: Executar o crawler](#tutorial-add-crawler-step2)
+ [Etapa 3: Exibir objetos do AWS Glue Data Catalog](#tutorial-add-crawler-step3)

## Pré-requisitos
<a name="tutorial-add-crawler-prerequisites"></a>

Este tutorial pressupõe que você tem uma conta da AWS e acesso ao AWS Glue.

## Etapa 1: Adicionar um crawler
<a name="tutorial-add-crawler-step1"></a>

Use estas etapas para configurar e executar um crawler que extrai os metadados de um arquivo CSV armazenado no Amazon S3.

**Para criar um crawler que lê arquivos armazenados no Amazon S3**

1. No console de serviço do AWS Glue, no menu do lado esquerdo, selecione **Crawlers**.

1. Na página Crawlers, escolha **Create crawler** (Criar crawler). Isso inicia uma série de páginas que solicitam os detalhes do crawler.  
![\[A captura de tela mostra a página do crawler. A partir daqui, você pode criar um crawler ou editar, duplicar, excluir e visualizar um crawler existente.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/crawlers-create_crawler.png)

1. No campo de nome do crawler, insira **Flights Data Crawler** e, em seguida, escolha **Next** (Próximo).

   Crawlers invocam classificadores para inferir o esquema dos seus dados. Este tutorial usa o classificador integrado para CSV por padrão. 

1. Para o tipo de origem do crawler, escolha **Data stores** (Armazenamentos de dados) e, em seguida, **Next** (Próximo).

1. Agora, vamos apontar o crawler para os seus dados. Na página **Add a data store** (Adicionar um armazenamento de dados), escolha o armazenamento de dados do Amazon S3. Este tutorial não usa uma conexão, então deixe o campo **Connection** (Conexão) em branco, se estiver visível. 

   Na opção **Crawl data in** (Rastrear dados em), escolha **Specified path in another account** (Caminho especificado em outra conta). Em **Include path** (Incluir o caminho), insira o caminho em que o crawler pode encontrar os dados de voos, que é **s3://crawler-public-us-east-1/flight/2016/csv**. Depois de inserir o caminho, o título desse campo muda para **Include path** (Incluir o caminho). Escolha **Próximo**.

1. É possível rastrear vários armazenamentos de dados com um único crawler. No entanto, neste tutorial, estamos usando apenas um único armazenamento de dados, então escolha **No** (Não) e, depois, escolha **Next** (Próximo).

1. O crawler precisa de permissões para acessar o armazenamento de dados e criar objetos no AWS Glue Data Catalog. Para configurar essas permissões, escolha **Create an IAM role** (Criar uma função do IAM). O nome da função do IAM começa com `AWSGlueServiceRole-` e, no campo, insira a última parte do nome da função. Insira **CrawlerTutorial** e escolha **Next** (Próximo). 
**nota**  
Para criar uma função do IAM, seu usuário da AWS deve ter as permissões `CreateRole`, `CreatePolicy` e `AttachRolePolicy`.

   O assistente cria uma função do IAM denominada `AWSGlueServiceRole-CrawlerTutorial`, anexa a política gerenciada pela AWS `AWSGlueServiceRole` a essa função e adiciona uma política embutida que permite acesso de leitura ao local do Amazon S3 `s3://crawler-public-us-east-1/flight/2016/csv`.

1. Crie uma programação para o crawler. Em **Frequency** (Frequência), escolha **Run on demand** (Executar sob demanda) e, depois, escolha **Next** (Próximo). 

1. Os crawlers criam tabelas no Data Catalog. As tabelas são contidas em um banco de dados no Data Catalog. Primeiro, escolha **Add database** (Adicionar banco de dados) para criar um banco de dados. Na janela pop-up, insira **test-flights-db** no nome do banco de dados e escolha **Create** (Criar).

   Em seguida, insira **flights** em **Prefix added to tables** (Prefixo adicionado às tabelas). Use os valores padrão para o restante das opções e escolha **Next** (Próximo).

1. Verifique as opções que você escolheu no assistente **Add crawler** (Adicionar crawler). Se você vir algum erro, pode escolher **Back** (Voltar) para retornar às páginas anteriores e fazer alterações.

   Depois de revisar as informações, escolha **Finish** (Finalizar) para criar o crawler.

## Etapa 2: Executar o crawler
<a name="tutorial-add-crawler-step2"></a>

Depois de criar um crawler, o assistente o envia para a página de exibição de crawlers. Como você cria o crawler com uma programação sob demanda, você tem a opção de executá-lo.

**Para executar o crawler**

1. O banner próximo à parte superior dessa página permite que você saiba que o crawler foi criado e pergunta se você deseja executá-lo agora. Escolha **Run it now?** (Executá-lo agora?) para executar o crawler.

   O banner muda para mostrar as mensagens “Attempting to run” (Tentativa de execução) e “Running” (Em execução) para o crawler. Depois que o crawler começa a ser executado, o banner desaparece e a exibição do crawler é atualizada para mostrar o status “Starting” (Iniciando) para o crawler. Após um minuto, você pode clicar no ícone Refresh (Atualizar) para atualizar o status do crawler exibido na tabela.

1. Quando o crawler for concluído, será exibido um novo banner que descreve as alterações feitas por ele. Você pode escolher o link **test-flights-db** para exibir os objetos do Data Catalog.

## Etapa 3: Exibir objetos do AWS Glue Data Catalog
<a name="tutorial-add-crawler-step3"></a>

O crawler lê dados no local de origem e cria tabelas no Data Catalog. A tabela é uma definição de metadados que representa seus dados, incluindo o esquema. As tabelas no Data Catalog não contêm dados. Em vez disso, você usa essas tabelas como uma origem ou destino em uma definição de trabalho.

**Para exibir os objetos do Data Catalog criados pelo crawler**

1. No painel de navegação do lado esquerdo, em **Data Catalog**, escolha **Databases** (Bancos de dados). Aqui você pode ver o banco de dados `flights-db` criado pelo crawler.

1. No painel de navegação do lado esquerdo, em **Data Catalog** e abaixo de **Databases** (Bancos de dados), escolha **Tables** (Tabelas). Aqui, você pode ver a tabela `flightscsv` criada pelo crawler. Se você escolher o nome da tabela, poderá exibir as configurações, os parâmetros e as propriedades dela. Ao rolar para baixo nessa exibição, você pode ver o esquema, que são informações sobre as colunas e os tipos de dados da tabela.

1. Se escolher **View partitions** (Exibir partições) na página de exibição da tabela, poderá ver as partições criadas para os dados. A primeira coluna é a chave de partição.