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

En este documento, se muestra cómo configurar tu proyecto de Google Cloud, crear un proyecto de Maven con el SDK de Apache Beam para Java y ejecutar una canalización de ejemplo en el servicio de Dataflow. La canalización lee un archivo de texto de Cloud Storage, cuenta la cantidad de palabras únicas del archivo y, luego, vuelve a escribir el recuento de palabras en Cloud Storage.

En esta guía de inicio rápido, se requiere estar familiarizado con la instalación y la configuración de Java y Maven en tu entorno de producción local. Si prefieres ejecutar un trabajo de muestra sin instalar primero los requisitos previos en tu entorno local, prueba el instructivo sobre el recuento de palabras de Dataflow de Google Cloud Console.

Ir al instructivo de Dataflow

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

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

    Descubre cómo puedes habilitar la facturación

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

    Habilita las API

  5. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga el rol Project > Owner a la cuenta de servicio.

      Para otorgar el rol, busca la lista Seleccionar un rol y, luego, selecciona Project > Owner.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  6. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  7. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene tus credenciales. Esta variable solo se aplica a la sesión actual de Cloud Shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  8. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

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

    Descubre cómo puedes habilitar la facturación

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

    Habilita las API

  11. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga el rol Project > Owner a la cuenta de servicio.

      Para otorgar el rol, busca la lista Seleccionar un rol y, luego, selecciona Project > Owner.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  12. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  13. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene tus credenciales. Esta variable solo se aplica a la sesión actual de Cloud Shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  14. Crea un bucket de Cloud Storage:
    1. En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.

      Ir a la página Buckets

    2. Haga clic en Crear bucket.
    3. En la página Crear un bucket, ingresa la información de tu bucket. Para ir al paso siguiente, haz clic en Continuar.
      • En Nombre del bucket, ingresa un nombre de bucket único. No incluyas información sensible en el nombre del bucket porque su espacio de nombres es global y públicamente visible.
      • En Elige dónde almacenar tus datos, haz lo siguiente:
        • Selecciona una opción de Tipo de ubicación.
        • Selecciona una opción de Ubicación.
      • Para Elegir una clase de almacenamiento predeterminado para tus datos, selecciona lo siguiente:Estándar.
      • En Elige cómo controlar el acceso a los objetos, selecciona una opción de Control de acceso.
      • Para la Configuración avanzada (opcional), especifica un método de encriptación, una política de retención o etiquetas de bucket.
    4. Haga clic en Crear.
  15. Copia lo siguiente, ya que los necesitarás en una sección posterior:
    • : Es el nombre del bucket de Cloud Storage.
    • Tu ID del proyecto de Google Cloud. Para encontrar este ID, consulta Identifica proyectos.
  16. Descarga y, luego, instala la versión 11 del Java Development Kit (JDK) . (Dataflow sigue siendo compatible con la versión 8). Verifica que la variable de entorno JAVA_HOME esté establecida y que esté orientada a la instalación del JDK.
  17. Descarga y, luego, 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 canalización

El SDK de Apache Beam es un modelo de programación de código abierto para canalizaciones de datos. Debes definir estas canalizaciones con un programa Apache Beam y puedes elegir un ejecutor, como Dataflow, para ejecutar tu canalización.

  1. En tu shell o terminal, usa el complemento de arquetipo de Maven para crear un proyecto de Maven en tu computadora que contenga los ejemplos del WordCount SDK de Apache Beam:
    mvn archetype:generate \
        -DarchetypeGroupId=org.apache.beam \
        -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
        -DarchetypeVersion=2.37.0 \
        -DgroupId=org.example \
        -DartifactId=word-count-beam \
        -Dversion="0.1" \
        -Dpackage=org.apache.beam.examples \
        -DinteractiveMode=false
    

    El comando crea un directorio nuevo llamado word-count-beam en tu directorio actual. El directorio word-count-beam contiene un archivo pom.xml simple y una serie de canalizaciones de ejemplo que cuentan palabras en archivos de texto.

  2. Verifica que tu directorio word-count-beam contenga el archivo pom.xml:

    Linux o macOS

    cd word-count-beam/
    ls

    Este es el resultado:

    pom.xml   src

    Windows

    cd word-count-beam/
    dir

    Este es el resultado:

    pom.xml   src
  3. Verifica que tu proyecto de Maven contenga las canalizaciones de ejemplo:

    Linux o macOS

    ls src/main/java/org/apache/beam/examples/

    Este es el resultado:

    DebuggingWordCount.java   WindowedWordCount.java   common
    MinimalWordCount.java   WordCount.java

    Windows

    dir src/main/java/org/apache/beam/examples/

    Este es el resultado:

    DebuggingWordCount.java   WindowedWordCount.java   common
    MinimalWordCount.java   WordCount.java

Para obtener información detallada sobre los conceptos de Apache Beam que se usan en estos ejemplos, consulta Ejemplo de WordCount de Apache Beam. En las instrucciones de las siguientes secciones, se usa WordCount.java.

Ejecuta la canalización de forma local:

  • En tu shell o terminal, ejecuta la canalización de WordCount de manera local desde tu directorio word-count-beam:
    mvn compile exec:java \
        -Dexec.mainClass=org.apache.beam.examples.WordCount \
        -Dexec.args="--output=counts"
    

    Los archivos de salida tienen el prefijo counts y se escriben en el directorio word-count-beam. Contienen palabras únicas del texto de entrada y la cantidad de veces que aparece cada palabra.

Ejecuta la canalización en el servicio de Dataflow

  • En tu shell o terminal, compila y ejecuta la canalización WordCount en el servicio de Dataflow desde tu directorio word-count-beam:
    mvn -Pdataflow-runner compile exec:java \
        -Dexec.mainClass=org.apache.beam.examples.WordCount \
        -Dexec.args="--project=PROJECT_ID \
        --gcpTempLocation=gs://BUCKET_NAME/temp/ \
        --output=gs://BUCKET_NAME/output \
        --runner=DataflowRunner \
        --region=REGION"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto de Cloud
    • BUCKET_NAME: Es el nombre de tu bucket de Cloud Storage.
    • REGION: Es un extremo regional de Dataflow, como us-central1

Ve los resultados

  1. En Cloud Console, ve a la página de Jobs.
    IR A TRABAJOS

    La página Trabajos muestra una lista con los detalles de todos los trabajos disponibles, incluido el estado. El Estado del trabajo wordcount es En ejecución primero y, luego, se actualiza a Completado.

  2. En Cloud Console, ve a la página Navegador de Cloud Storage.
    Ir al navegador

    En la página Navegador de Storage, se muestra la lista de todos los buckets de almacenamiento de tu proyecto.

  3. Haz clic en el bucket de almacenamiento que creaste.

    En la página Detalles del bucket, se muestran los archivos de salida y los archivos de etapa de pruebas que creó tu trabajo de Dataflow.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto de Google Cloud que creaste para la guía de inicio rápido.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra los recursos individuales

Si deseas conservar el proyecto Google Cloud que usaste en esta guía de inicio rápido, borra los recursos individuales:

  1. En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. Haz clic en la casilla de verificación del bucket que deseas borrar.
  3. Para borrar el bucket, haz clic en Borrar y sigue las instrucciones.

¿Qué sigue?