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

Esta página mostra como configurar seu projeto do Google Cloud, criar um projeto Maven com o SDK do Apache Beam e executar um exemplo de pipeline no serviço Dataflow.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

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

    Acessar a página do 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 Cloud Dataflow, Compute Engine, Stackdriver Logging, Cloud Storage, Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore e Cloud Resource Manager .

    Ative as APIs

  5. Configurar a autenticação:
    1. No Console do Cloud, acesse a página Criar chave da conta de serviço.

      Acessar página "Criar chave da conta de serviço"
    2. Na lista Conta de serviço, selecione Nova conta de serviço.
    3. No campo Nome da conta de serviço, insira um nome.
    4. Na lista Papel, selecione Projeto > Proprietário.

    5. Clique em Criar. O download de um arquivo JSON que contém sua chave é feito no seu computador.
  6. 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.

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

      Acessar a página "Navegador do Cloud Storage"

    2. Clique em Criar bucket.
    3. Na caixa de diálogo Criar bucket, especifique os seguintes atributos.
      • Nome: um nome de bucket exclusivo. Não inclua informações confidenciais no nome do bucket: o namespace é global e visível ao público.
      • Classe de armazenamento padrão: Standard
      • Um local onde os dados do bucket serão armazenados.
    4. Clique em Criar.
  8. Faça o download e a instalação da versão 8 do Kit de desenvolvimento em Java (JDK). Verifique se a variável de ambiente JAVA_HOME está definida e aponta para a instalação do JDK (links em inglês).
  9. Faça o download e a instalação do Apache Maven seguindo o guia de instalação (em inglês) para o sistema operacional específico.

Conseguir o código WordCount

O SDK do Apache Beam é um modelo de programação de código aberto para pipelines 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.

Crie um projeto do Maven com os exemplos do WordCount no SDK do Apache Beam, usando o Plug-in de arquétipo do Maven. Em um diretório no seu computador, execute o comando mvn archetype:generate no shell ou no terminal desta maneira:

$ mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.25.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false

Depois de executar o comando, você verá um novo diretório chamado word-count-beam abaixo do diretório atual. 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.

$ cd word-count-beam/

$ ls
pom.xml	src

$ ls src/main/java/org/apache/beam/examples/
DebuggingWordCount.java	WindowedWordCount.java	common
MinimalWordCount.java	WordCount.java

Para ver uma introdução detalhada aos conceitos do Apache Beam usados ​​nesses exemplos, consulte Instruções de exemplo do WordCount. O exemplo a seguir executa WordCount.java.

Executar WordCount localmente

Para executar o WordCount localmente, execute o seguinte comando no seu 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 WordCount no serviço Dataflow

Crie e execute WordCount no serviço Cloud Dataflow:

  • Para o argumento --project, especifique o ID do projeto do Google Cloud que você criou.
  • Para os argumentos --stagingLocation e --output, especifique o nome do bucket do Cloud Storage criado como parte do caminho.

  • No argumento --region, especifique um endpoint regional do Dataflow.
$ mvn -Pdataflow-runner compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--project=<PROJECT_ID> \
      --stagingLocation=gs://<STORAGE_BUCKET>/staging/ \
      --output=gs://<STORAGE_BUCKET>/output \
      --runner=DataflowRunner \
      --region=<REGION>"

Ver os resultados

  1. Abra a IU da Web do Dataflow.
    Acessar a IU da Web do Dataflow

    Você verá o job wordcount, primeiramente com o status Em execução e depois Finalizado:

    Jobs do Cloud Dataflow
  2. Abra o navegador do Cloud Storage no Console do Google Cloud.
    Acessar o navegador do Cloud Storage

    No seu bucket, os arquivos de saída e os arquivos de preparação que foram criados pelo job serão exibidos:

    bucket do Cloud Storage

Limpar

Para evitar cobranças em sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

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

    Acessar a página "Navegador do Cloud Storage"

  2. Clique na caixa de seleção do bucket que você quer excluir.
  3. Para excluir o bucket, clique em Excluir .

A seguir