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
-
Faça login na sua conta do Google.
Se você ainda não tiver uma, inscreva-se.
-
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.
- Ative as APIs Cloud Dataflow, Compute Engine, Stackdriver Logging, Cloud Storage, Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore e Cloud Resource Manager .
-
Configurar a autenticação:
-
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" - Na lista Conta de serviço, selecione Nova conta de serviço.
- No campo Nome da conta de serviço, insira um nome.
Na lista Papel, selecione Projeto > Proprietário.
- Clique em Criar. O download de um arquivo JSON que contém sua chave é feito no seu computador.
-
-
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. - Crie um bucket do Cloud Storage:
- No Console do Cloud, acesse a página Navegador do Cloud Storage.
- Clique em Criar bucket.
- 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.
- Clique em Criar.
- 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).
- 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
- Abra a IU da Web do Dataflow.
Acessar a IU da Web do DataflowVocê verá o job wordcount, primeiramente com o status Em execução e depois Finalizado:
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Acessar o navegador do Cloud StorageNo seu bucket, os arquivos de saída e os arquivos de preparação que foram criados pelo job serão exibidos:
Limpar
Para evitar cobranças em sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:
- No Console do Cloud, acesse a página Navegador do Cloud Storage.
- Clique na caixa de seleção do bucket que você quer excluir.
- Para excluir o bucket, clique em Excluir delete.