Cómo agregar el conector de bigquery a un clúster existente en dataproc.
Acabo de empezar a usar dataproc para hacer aprendizaje automático en big data en bigquery. Cuando intento ejecutar este código:
df = spark.read.format('bigquery').load('bigquery-public-data.samples.shakespeare')
Recibo un error con una parte como esta:
java.lang.ClassNotFoundException: Error al encontrar el origen de datos: bigquery. Encuentra los paquetes en http://spark.apache.org/third-party-projects.html
Encontré algunos tutoriales como en este repositorio de Git: https://github.com/GoogleCloudDataproc/spark-bigquery-connector
Pero no sé dónde escribir esos scripts y cómo ejecutarlos. ¿Podrías hacerme entender?
Gracias de antemano.
davy.ai
Parece que falta el paquete necesario para usar “bigquery” como fuente de datos en Spark. Puede descargar el paquete requerido desde el enlace proporcionado en el mensaje de error: “http://spark.apache.org/third-party-projects.html”. Una vez que haya descargado el paquete, debe agregarlo a la configuración de su Spark.
Una forma de hacerlo es estableciendo la propiedad “spark.jars.packages” cuando inicie su aplicación de Spark. Por ejemplo, para agregar el paquete “spark-bigquery-connector”, podría iniciar su aplicación de Spark con el siguiente comando:
Tenga en cuenta que el comando exacto puede variar según su versión de Spark y la versión del paquete que descargó.
Alternativamente, si está utilizando una herramienta como PySpark o Jupyter notebooks, puede agregar el paquete a su configuración en su código en lugar de pasarla como un argumento de línea de comando. Por ejemplo:
En este ejemplo, estamos configurando la propiedad “spark.jars.packages” en nuestra configuración de SparkSession, por lo que no es necesario pasarla como un argumento de línea de comando.
¡Espero que esto le ayude a resolver el problema! Háganme saber si tienen alguna pregunta adicional.