Guia de início rápido sobre o uso do Java e Apache Maven

Este documento mostra como configurar seu projeto do Google Cloud, criar um projeto Maven usando o SDK do Apache Beam para Java e executar um exemplo de pipeline no serviço Dataflow. O pipeline lê um arquivo de texto do Cloud Storage, conta o número de palavras exclusivas no arquivo e grava as contagens de palavras no Cloud Storage.

Este guia de início rápido requer familiaridade com a instalação e configuração do Java e do Maven no seu ambiente de produção local. Se você preferir executar um job de amostra sem instalar os pré-requisitos no ambiente local, veja o tutorial de contagem de palavras do Dataflow no Console do Google Cloud.

Acessar o tutorial do Dataflow

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative as APIs Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore e Cloud Resource Manager .

    Ative as APIs

  5. Crie uma conta de serviço:

    1. No Console do Cloud, acesse a página Criar conta de serviço.

      Acesse Criar conta de serviço
    2. Selecione um projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Clique no campo Selecionar um papel.

      Em Acesso rápido, clique em Básico e em Proprietário.

    6. Clique em Continuar.
    7. Clique em Concluído para terminar a criação da conta de serviço.

      Não feche a janela do navegador. Você vai usá-lo na próxima etapa.

  6. Crie uma chave de conta de serviço:

    1. No Console do Cloud, clique no endereço de e-mail da conta de serviço que você criou.
    2. Clique em Chaves.
    3. Clique em Adicionar chave e em Criar nova chave.
    4. Clique em Criar. O download de um arquivo de chave JSON é feito no seu computador.
    5. Clique em Fechar.
  7. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém a chave da conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente.

  8. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  9. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  10. Ative as APIs Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore e Cloud Resource Manager .

    Ative as APIs

  11. Crie uma conta de serviço:

    1. No Console do Cloud, acesse a página Criar conta de serviço.

      Acesse Criar conta de serviço
    2. Selecione um projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Clique no campo Selecionar um papel.

      Em Acesso rápido, clique em Básico e em Proprietário.

    6. Clique em Continuar.
    7. Clique em Concluído para terminar a criação da conta de serviço.

      Não feche a janela do navegador. Você vai usá-lo na próxima etapa.

  12. Crie uma chave de conta de serviço:

    1. No Console do Cloud, clique no endereço de e-mail da conta de serviço que você criou.
    2. Clique em Chaves.
    3. Clique em Adicionar chave e em Criar nova chave.
    4. Clique em Criar. O download de um arquivo de chave JSON é feito no seu computador.
    5. Clique em Fechar.
  13. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém a chave da conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente.

  14. Crie um bucket do Cloud Storage:
    1. No Console do Cloud, acesse a página Navegador do Cloud Storage.

      Acessar o navegador

    2. Clique em Criar bucket.
    3. Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima etapa, clique em Continuar.
      • Em Nomear o bucket, insira um nome exclusivo. Não inclua informações confidenciais no nome do bucket já que o namespace dele é global e visível para o público.
      • Em Escolha um local para armazenar seus dados, faça o seguinte:
        • Selecione uma opção de Tipo de local.
        • Escolha uma opção de Local.
      • Em Escolha uma classe de armazenamento padrão para seus dados, selecione o seguinte: Standard.
      • Em Escolha como controlar o acesso a objetos, selecione uma opção de Controle de acesso.
      • Em Configurações avançadas (opcional), especifique um método de criptografia, uma política de retenção ou rótulos de bucket.
    4. Clique em Criar.
  15. Copie o seguinte, conforme necessário em uma seção posterior:
    • Seu nome do bucket do Cloud Storage.
    • É o ID do seu projeto no Google Cloud. Para encontrar esse ID, consulte Como identificar projetos.
  16. Faça o download e instale a versão 11 do Kit de desenvolvimento para Java (JDK, na sigla em inglês). (O Dataflow continua sendo compatível com a versão 8.) Confirme se a variável de ambiente JAVA_HOME está definida e aponta para a instalação do JDK.
  17. Faça o download e instale o Apache Maven seguindo o guia de instalação (links em inglês) para seu sistema operacional específico.

Receber o código do pipeline

O SDK do Apache Beam (em inglês) é um modelo de programação de código aberto para pipelines de processamento de dados. Esses pipelines são definidos usando um programa do Apache Beam, e é possível escolher um executor, como o Dataflow, para executar o pipeline.

  1. No shell ou no terminal, use o plug-in de arquétipo do Maven (em inglês) para criar um projeto Maven no computador que contenha os exemplos WordCount do SDK do Apache Beam:
    mvn archetype:generate \
        -DarchetypeGroupId=org.apache.beam \
        -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
        -DarchetypeVersion=2.34.0 \
        -DgroupId=org.example \
        -DartifactId=word-count-beam \
        -Dversion="0.1" \
        -Dpackage=org.apache.beam.examples \
        -DinteractiveMode=false
    

    O comando cria um novo diretório chamado word-count-beam no diretório atual. O diretório word-count-beam contém um arquivo pom.xml simples e uma série de exemplos de pipelines que contam palavras em arquivos de texto.

  2. Verifique se o diretório word-count-beam contém o arquivo pom.xml:

    Linux ou macOS

    cd word-count-beam/
    ls

    A saída é esta:

    pom.xml   src

    Windows

    cd word-count-beam/
    dir

    A saída é esta:

    pom.xml   src
  3. Verifique se o projeto Maven contém os pipelines de exemplo:

    Linux ou macOS

    ls src/main/java/org/apache/beam/examples/

    A saída é esta:

    DebuggingWordCount.java   WindowedWordCount.java   common
    MinimalWordCount.java   WordCount.java

    Windows

    dir src/main/java/org/apache/beam/examples/

    A saída é esta:

    DebuggingWordCount.java   WindowedWordCount.java   common
    MinimalWordCount.java   WordCount.java

Para ver uma introdução detalhada aos conceitos do Apache Beam usados nestes exemplos, consulte o Exemplo de WordCount do Apache Beam. As instruções nas próximas seções usam WordCount.java.

Execute o pipeline localmente

  • No shell ou terminal, execute o pipeline WordCount localmente a partir do diretório word-count-beam:
    mvn compile exec:java \
        -Dexec.mainClass=org.apache.beam.examples.WordCount \
        -Dexec.args="--output=counts"
    

    Os arquivos de saída têm o prefixo counts e são gravados no diretório word-count-beam. Eles contêm palavras exclusivas do texto de entrada e o número de ocorrências de cada palavra.

Executar o pipeline no serviço do Dataflow

  • No shell ou no terminal, crie e execute o pipeline WordCount no serviço do Dataflow a partir do diretório word-count-beam:
    mvn -Pdataflow-runner compile exec:java \
        -Dexec.mainClass=org.apache.beam.examples.WordCount \
        -Dexec.args="--project=PROJECT_ID \
        --gcpTempLocation=gs://BUCKET_NAME/temp/ \
        --output=gs://BUCKET_NAME/output \
        --runner=DataflowRunner \
        --region=REGION"
    

    Substitua:

Ver os resultados

  1. No Console do Cloud, acesse a página do Dataflow.
    Acessar Jobs

    A página Jobs mostra os detalhes de todos os jobs disponíveis, incluindo o status. O Status do job de wordcount é Em execução primeiro e, em seguida, é atualizado para Concluído.

  2. No Console do Cloud, acesse a página Navegador do Cloud Storage.
    Acessar o navegador

    A página Navegador exibe a lista de todos os buckets de armazenamento do projeto.

  3. Clique no bucket de armazenamento que você criou.

    A página Detalhes do bucket mostra os arquivos de saída e os arquivos de preparação que foram criados pelo job do Dataflow.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

Exclua o projeto

A maneira mais fácil de eliminar o faturamento é excluir o projeto do Google Cloud que você criou para o guia de início rápido.

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Excluir recursos individuais

Se você quiser manter o projeto do Google Cloud usado neste guia de início rápido, exclua os recursos individuais:

  1. No Console do Cloud, acesse a página Navegador do Cloud Storage.

    Acessar o navegador

  2. Clique na caixa de seleção do bucket que você quer excluir.
  3. Para excluir o bucket, clique em Excluir e siga as instruções.

A seguir