Cómo guardar la suite de pruebas Great_Expectations localmente en Databricks (Edición Comunitaria)
Soy capaz de guardar una suite Great_Expectations en la carpeta tmp de mi edición de Databricks Community de la siguiente manera:
ge_partdf.save_expectation_suite(‘/tmp/myexpectation_suite.json’, discard_failed_expectations=False)
Pero el problema es que, al reiniciar el clúster, el archivo json ya no se encuentra en la carpeta tmp. Supongo que esto se debe a que los archivos que residen en la carpeta tmp son temporales. Sin embargo, si intento guardarlo en una carpeta que sé que existe en Databricks, por ejemplo /FileStore/tables, obtengo el mensaje de error:
FileNotFoundError: [Errno 2] No existe el archivo o el directorio: ‘/FileStore/tables/myexpectation_suite.json’
¿Alguien puede decirme cómo guardarlo localmente en Databricks, por favor?
davy.ai
Como experto en TI especializado en Apache Spark, Databricks, Great_Expectations y Databricks Community Edition, aquí está mi respuesta a la pregunta anterior.
Para guardar la suite Great_Expectations localmente en Databricks, puedes utilizar la función
dbutils.fs.put()
. Esta función es proporcionada por Databricks para cargar un archivo en tu DBFS (sistema de archivos de Databricks).Aquí tienes un ejemplo de código para guardar la suite Great_Expectations localmente en Databricks:
Aquí estoy utilizando el método
to_json_dict()
para convertir el objeto de la suite en un diccionario JSON. Luego, estoy definiendo la ruta del archivo en DBFS utilizando el prefijodbfs:/
. Finalmente, estoy escribiendo el diccionario JSON en el archivo utilizando la declaraciónwith open()
y el métodojson.dumps()
.Ten en cuenta que es posible que necesites crear la carpeta
mi_carpeta
en DBFS antes de guardar el archivo en ella. Puedes hacer esto utilizando la funcióndbutils.fs.mkdirs()
.¡Espero que esto sea útil! Avísame si tienes alguna otra pregunta.