Guía de inicio rápido del uso de Python

En esta página, se muestra cómo configurar tu entorno de desarrollo de Python, obtener el SDK de Apache Beam para Python y ejecutar una canalización de ejemplo con Google Cloud Platform Console.

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.

Configura tu entorno

  1. El SDK de Apache Beam para Python requiere la versión 2.7.x de Python. Ejecuta el siguiente comando para comprobar que tienes la versión 2.7.x:
    python --version
  2. Instala pip, el administrador de paquetes de Python. Ejecuta el siguiente código para comprobar que tienes la versión 7.0.0 o más reciente:
    pip --version
    Si no tienes pip versión 7.0.0 o más reciente, ejecuta el siguiente comando para instalarlo. Este comando puede requerir privilegios de administrador.
    pip install -U pip

    Si no tienes un símbolo del sistema disponible, puedes usar Google Cloud Shell. Tiene el administrador de paquetes de Python ya instalado, por lo que puedes omitir este paso de configuración.

  3. No se requiere Cython, pero si está instalado, debes tener la versión 0.26.1 o más reciente. Ejecuta pip show cython para comprobar tu versión de Cython.
  4. Se recomienda instalar un entorno virtual de Python para los experimentos iniciales. Si no tienes la versión 13.1.0 de virtualenv o una más reciente, ejecuta el siguiente comando para instalarla. Este comando puede requerir privilegios de administrador.
    pip install --upgrade virtualenv
    1. Un entorno virtual es un árbol de directorio que contiene su propia distribución de Python. Para crear un entorno virtual, crea un directorio y ejecuta el siguiente comando:
      virtualenv /path/to/directory
    2. Se debe activar un entorno virtual para cada shell que lo utilice. Cuando se activa, se establecen algunas variables de entorno que apuntan a los directorios del entorno virtual. Para activar un entorno virtual en Bash, ejecuta el siguiente comando:
      . /path/to/directory/bin/activate
      Este comando origina la secuencia de comandos bin/activate en el directorio del entorno virtual que creaste.

      Para obtener instrucciones acerca de cómo usar otras shells, consulta la documentación de virtualenv.

Cómo obtener el SDK de Apache Beam

Instala el SDK de Apache Beam más reciente para Python desde PyPI:

pip install apache-beam[gcp]
Puedes obtener más información sobre el uso de Python en Google Cloud Platform en la página Cómo configurar un entorno de desarrollo de Python.

Cómo ejecutar WordCount localmente

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

python -m apache_beam.examples.wordcount --output OUTPUT_FILE

Cómo ejecutar WordCount en el servicio de Cloud᠎ Dataflow

Ejecuta WordCount en el servicio de Cloud Dataflow:
python -m apache_beam.examples.wordcount --input gs://dataflow-samples/shakespeare/kinglear.txt \
                                         --output gs://<your-gcs-bucket>/counts \
                                         --runner DataflowRunner \
                                         --project your-gcp-project-id \
                                         --temp_location gs://<your-gcs-bucket>/tmp/
  

Cómo ver 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 directorios results y staging:

    Depósito de Cloud Storage

    En el directorio results, deberías ver los archivos de salida que creó tu trabajo:

    Archivos de salida

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?

Apache Beam™ es una marca registrada de Apache Software Foundation o sus filiales en Estados Unidos o en otros países.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

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