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. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

  3. Asegúrate de tener habilitada la facturación para tu proyecto.

    Aprende a 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. Configura la autenticación:
    1. En GCP Console, ve a la página Crear clave de la cuenta de servicio.

      Ir a la página Crear clave de la cuenta de servicio
    2. Desde la lista desplegable de la Cuenta de servicio, selecciona Nueva cuenta de servicio.
    3. En el campo Nombre de cuenta de servicio, ingresa un nombre.
    4. En la lista desplegable Función, selecciona Proyecto > Propietario.

      Nota: El campo Función autoriza tu cuenta de servicio para acceder a los recursos. Puedes ver y cambiar este campo luego con GCP Console. Si desarrollas una aplicación de producción, especifica permisos más detallados que Proyecto > Propietario. Para obtener más información, consulta Cómo otorgar funciones a las cuentas de servicio.
    5. Haz clic en Crear. Se descargará un archivo JSON a tu computadora que contiene tus descargas de claves.
  6. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS con la ruta de acceso al archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a tu sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  7. Crea un depósito de Cloud Storage:
    1. En GCP Console, dirígete al navegador de Cloud Storage.

      Ir al navegador de Cloud Storage

    2. Haz clic en Crear depósito.
    3. En el diálogo Crear depósito especifica los siguientes atributos:
      • Nombre: Un nombre único para el depósito. No incluyas información sensible en el nombre del depósito, ya que su espacio de nombres es global y tiene visibilidad pública.
      • Clase de almacenamiento:Multirregional
      • Una ubicación en la que se almacenarán los datos del depósito.
    4. Haz clic en Crear.
  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. En la GCP Console, dirígete al navegador de Cloud Storage.

    Ir al navegador de Cloud Storage

  2. Haz clic en la casilla de verificación junto al depósito que deseas borrar.
  3. Haz clic en el botón Borrar en la parte superior del depósito.

¿Qué sigue?

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.