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

En esta página, se muestra cómo configurar tu proyecto de Google Cloud Platform, 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. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

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

    Descubre cómo puedes habilitar la facturación

  4. Habilita lasCloud Dataflow, Compute Engine, Stackdriver Logging, Google Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore, and Cloud Resource ManagerAPIAPI.

    Habilita lasAPI

  5. Configurar 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. En la lista Cuenta de servicio, selecciona Cuenta de servicio nueva.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio.
    4. En la lista 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 app 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, ve a la página Navegador de Cloud Storage.

      Ir a la página 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 de depósito único 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 predeterminada:Estándar
      • Una ubicación donde se almacenan los datos del depósito
    4. Haz clic en Crear.
  8. Descarga y, luego, instala la versión 8 del Java Development Kit (JDK) . Verifica que la variable de entorno JAVA_HOME esté configurada y orientada a tu instalación de JDK.
  9. Descarga y, a continuación, instala Apache Maven mediante los pasos de la guía de instalación de Maven para tu sistema operativo específico.

Obtén el código de WordCount

El SDK de Apache Beam es un modelo de programación de código abierto para canalizaciones de datos. Estas estas canalizaciones se definen con un programa de Apache Beam y se puede elegir un ejecutor, como Cloud Dataflow, para ejecutar tu canalización.

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 manera siguiente:

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

Después de ejecutar el comando, deberías ver un directorio nuevo llamado word-count-beam en tu directorio actual. word-count-beam contiene un archivo pom.xml simple y una serie de canalizaciones de ejemplo que cuentan 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 que se usan en estos ejemplos, consulta la explicación de ejemplos de WordCount. Aquí, nos enfocaremos en ejecutar WordCount.java.

Ejecuta WordCount de forma local

Ejecuta WordCount de manera local con el comando siguiente 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:

  • Para el argumento --project, debes especificar el ID del proyecto destinado al proyecto de GCP que creaste.
  • Para los argumentos --stagingLocation y --output, debes especificar el nombre del depósito de Cloud Storage que creaste como parte de la ruta.

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

Visualiza los resultados

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

    Verás el trabajo de conteo de palabras con estado En ejecución primero y, luego, Correcto (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

Realiza una limpieza

Sigue estos pasos para evitar que se generen cargos en tu cuenta de GCP por los recursos que usaste en esta guía de inicio rápido:

  1. En GCP Console, ve a la página Navegador de Cloud Storage.

    Ir a la página Navegador de Cloud Storage

  2. Haz clic en la casilla de verificación del depósito que deseas borrar.
  3. Haz clic en Borrar para borrar el depósito.

Próximos pasos