Guía de inicio rápido de uso de Java y Apache Maven

En esta página, se muestra cómo configurar tu proyecto de Google Cloud Platform, cómo crear un proyecto de Maven con el SDK de Apache Beam y cómo ejecutar una canalización de ejemplo en el servicio de Cloud Dataflow.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a Google Cloud Platform project.

    Go to the Manage resources page

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Cloud Dataflow, Compute Engine, Stackdriver Logging, Google Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore y Cloud Resource Manager API necesarias.

    Habilita las API

  5. Set up authentication:
    1. In the GCP Console, go to the Create service account key page.

      Go to the Create Service Account Key page
    2. From the Service account list, select New service account.
    3. In the Service account name field, enter a name.
    4. From the Role list, select Project > Owner.

      Note: The Role field authorizes your service account to access resources. You can view and change this field later by using the GCP Console. If you are developing a production app, specify more granular permissions than Project > Owner. For more information, see granting roles to service accounts.
    5. Click Create. A JSON file that contains your key downloads to your computer.
  6. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the file path of the JSON file that contains your service account key. This variable only applies to your current shell session, so if you open a new session, set the variable again.

  7. Crea un depósito de Cloud Storage:
    1. In the GCP Console, go to the Cloud Storage Browser page.

      Go to the Cloud Storage Browser page

    2. Click Create bucket.
    3. In the Create bucket dialog, specify the following attributes:
      • Name: A unique bucket name. Do not include sensitive information in the bucket name, as the bucket namespace is global and publicly visible.
      • Storage class: Multi-Regional
      • A location where bucket data will be stored.
    4. Click Create.
  8. Descarga y, a continuación, instala el kit de desarrollo de Java (JDK), de la versión 8 o posterior. Verifica que esté configurada la variable de entorno JAVA_HOME y que esté orientada a la instalación del JDK.
  9. Descarga y, a continuación, instala Apache Maven y sigue la guía de instalación de Maven para tu sistema operativo específico.

Obtén el código de WordCount

Crea un proyecto de Maven que contenga ejemplos de WordCount del SDK de Apache Beam con el complemento de arquetipo de Maven. Ejecuta el comando mvn archetype:generate en tu shell o terminal de la siguiente manera:

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

Después de ejecutar el comando, verás un directorio nuevo llamado word-count-beam debajo del directorio actual. word-count-beam contiene un archivo pom.xml simple y una serie de canalizaciones de ejemplo que cuentan las palabras en archivos 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 obtener una introducción detallada de los conceptos de Apache Beam utilizados en estos ejemplos, consulta la explicación de ejemplos de WordCount. Aquí solo nos enfocaremos en la ejecución de WordCount.java.

Ejecuta WordCount localmente

Ejecuta WordCount localmente con el siguiente comando desde tu directorio word-count-beam:

$ mvn compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--output=./output/"

Ejecuta WordCount en el servicio de Cloud᠎ Dataflow

Crea y ejecuta WordCount en el servicio de Cloud Dataflow:

  • En el caso del argumento --project, especifica el ID del proyecto para el proyecto de GCP que creaste.
  • En el caso de los argumentos --stagingLocation y --output, especifica el nombre del depósito de Cloud Storage que creaste como parte de la ruta de acceso.

$ 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"

Ve los resultados

  1. Abre la IU web de Cloud Dataflow.
    Ir a la IU web de Cloud Dataflow

    Verás el trabajo de wordcount (conteo de palabras) con estado Running (En ejecución) primero y, luego, Succeeded (Correcto):

    Trabajos de Cloud Dataflow
  2. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Ir al navegador de Cloud Storage

    En el depósito, deberías ver los archivos generados y los archivos de etapa de pruebas que creó el trabajo:

    Depósito de Cloud Storage

Limpiar

Para evitar que se apliquen cargos a tu cuenta de GCP por los recursos que se utilizan en esta guía de inicio rápido, sigue estos pasos:

  1. In the GCP Console, go to the Cloud Storage Browser page.

    Go to the Cloud Storage Browser page

  2. Click the checkbox for the bucket you want to delete.
  3. Click Delete to delete the bucket.

¿Qué sigue?

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.