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, crear un proyecto de Maven con el SDK de Apache Beam y ejecutar una canalización de ejemplo en el servicio de 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 la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

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

    Habilita las API

  5. Configura la autenticación:
    1. En Cloud Console, ve a la página Crear una clave de 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 más adelante mediante Cloud 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 que contiene tus claves a tu computadora.
  6. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a la 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 Cloud 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 el espacio de nombres del depósito 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, 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 WordCount

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.

Crea un proyecto de Maven que contenga ejemplos de WordCount del SDK de Apache Beam mediante el complemento de arquetipo de Maven. Desde un directorio en tu computadora, ejecuta el comando mvn archetype:generate en la shell o terminal de la siguiente manera:

$ mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.22.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 usados en estos ejemplos, consulta la explicación de ejemplos de WordCount. En el siguiente ejemplo, se ejecuta WordCount.java.

Ejecuta WordCount de manera local

Ejecuta WordCount de manera local mediante el comando siguiente 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 WordCount en el servicio de Dataflow

Crea y ejecuta WordCount en el servicio de Dataflow:

  • Para el argumento --project, especifica el ID del proyecto del proyecto de Google Cloud 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.

  • En el argumento --region, especifica un extremo regional de 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>"

Visualiza los resultados

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

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

    Trabajos de Cloud Dataflow
  2. Abre el navegador de Cloud Storage en Google Cloud 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 apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.

  1. En Cloud 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 quieras borrar.
  3. Para borrar el depósito, haz clic en Borrar .

Próximos pasos