es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Añadir columna de columna utilizando Python y Spacy

Tengo un almacén de datos de BigQuery que contiene todos los datos de una base de datos de mongodb, esos datos están sincronizados una vez al día.

Me gustaría agregar una columna a una de mis tablas, esa columna es una versión limpia y lematizada de otra columna (el tipo es string). No puedo hacer esto con DBT porque necesito usar la librería de Python Spacy. ¿Cómo puedo ejecutar dicha transformación en mi tabla sin tener que obtener todos los datos localmente y enviar 10M de actualizaciones en BigQuery? ¿Existen algunas herramientas de GCP para ejecutar una función de Python contra BigQuery como Dataflow o algo similar?

Y de manera más general, ¿cómo transformas los datos cuando herramientas como DBT no son suficientes?

¡Gracias por tu ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar una columna limpia y lematizada a tu tabla en BigQuery utilizando la biblioteca de Python Spacy, puedes utilizar Cloud Functions, Cloud Run o Dataflow.

    Cloud Functions y Cloud Run son plataformas de cómputo sin servidor que te permiten ejecutar pequeños fragmentos de código en respuesta a eventos o solicitudes HTTP. Puedes escribir una función en Python que utilice Spacy para limpiar y lematizar los datos, y luego implementarla como una función o contenedor en Cloud Functions o Cloud Run. Luego puedes activar la función o contenedor mediante un trabajo de Cloud Scheduler o un mensaje de Pub/Sub cuando los datos estén disponibles.

    Dataflow es un servicio completamente administrado que te permite ejecutar canalizaciones de procesamiento de datos a gran escala utilizando Apache Beam. Puedes escribir un script en Python utilizando el SDK de Apache Beam que lea los datos de BigQuery, aplique las transformaciones de limpieza y lematización utilizando Spacy utilizando el concepto ‘DoFn’, y luego escriba los datos transformados de vuelta en BigQuery. Esto se puede hacer de manera distribuida, por lo que se escala automáticamente según el tamaño de los datos.

    En general, cuando las herramientas como DBT no son suficientes, puedes utilizar uno de los varios servicios de GCP mencionados anteriormente, otro servicio como Cloud Dataproc para trabajos de transformación de datos a gran escala, o incluso escribir tus propios scripts personalizados en Python que interactúen con las API de GCP para procesar y transformar los datos según sea necesario.

Comments are closed.