Discussion:
[pyar] PYSPARK MongoDB, problemas de parseo
Jean Jacques Delannoy
2018-08-18 08:51:12 UTC
Permalink
Hola lista buenos días hace poco me metí en el mundo de python y spark, y estoy teniendo un problema de parseo al guardar un data frame y no pude encontrar ninguna solución.
La situación es la siguiente:

Cuanto intento guardar el data frame sin modificarlo de ninguna forma en formato json o guardarlo en una nueva colección de mongodb recibo la siguiente excepción

Error:
com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast STRING into a TimestampType (value: BsonString{value='2018-05-18T14:18:30.736Z'})

cuando realizo el printSchema del data frame a ningún campo se le asigna un conflict type.


información adicional:
driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
Spark 2.2.0
Hadoop 2.7.3
Python 3.4


Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es posible porque el data set es muy grande.
cualquiera guía o dirección por la cual ir es bienvenida.

Gracias y Saludos.
Jean
pedro cabrera
2018-08-20 05:09:59 UTC
Permalink
Buenas Noches Jean

Te invito a que chequees la documentación de MongoDB link:
https://docs.mongodb.com/spark-connector/current/python-api/, yo tuve un
error similiar y era primero que no estaba realizando los llamados
correctamente del conector y segundo el sistema operativo de la PC con que
estaba desarrollando era de 32bits

Espero que te ayude, Saludos

El dom., 19 ago. 2018 a las 23:53, Jean Jacques Delannoy (<
***@hotmail.com>) escribió:

> Hola lista buenos días hace poco me metí en el mundo de python y spark, y
> estoy teniendo un problema de parseo al guardar un data frame y no pude
> encontrar ninguna solución.
> La situación es la siguiente:
>
> Cuanto intento guardar el data frame sin modificarlo de ninguna forma en
> formato json o guardarlo en una nueva colección de mongodb recibo la
> siguiente excepción
>
>
> Error:
> com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast
> STRING into a TimestampType (value:
> BsonString{value='2018-05-18T14:18:30.736Z'})
>
> cuando realizo el printSchema del data frame a ningún campo se le asigna
> un conflict type.
>
>
> información adicional:
> driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
> Spark 2.2.0
> Hadoop 2.7.3
> Python 3.4
>
>
> Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es
> posible porque el data set es muy grande.
> cualquiera guía o dirección por la cual ir es bienvenida.
>
> Gracias y Saludos.
> Jean
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - ***@python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



--
Ing. Pedro M. Cabrera M.
+58-424-4974814
Jean Jacques Delannoy
2018-08-20 13:54:45 UTC
Permalink
Gracias Pedro por contestar, ya probe siguiendo los pasos oficiales de la documentación, pero creo que el problema más que nada viene por el sampling que hace el driver para inferir el schema de la colección y cuando la quiere pasar a otro formato falla el casteo.

________________________________
De: pyar <pyar-***@python.org.ar> en nombre de pedro cabrera <***@gmail.com>
Enviado: lunes, 20 de agosto de 2018 02:09:59
Para: Python Argentina
Asunto: Re: [pyar] PYSPARK MongoDB, problemas de parseo

Buenas Noches Jean

Te invito a que chequees la documentación de MongoDB link: https://docs.mongodb.com/spark-connector/current/python-api/, yo tuve un error similiar y era primero que no estaba realizando los llamados correctamente del conector y segundo el sistema operativo de la PC con que estaba desarrollando era de 32bits

Espero que te ayude, Saludos

El dom., 19 ago. 2018 a las 23:53, Jean Jacques Delannoy (<***@hotmail.com<mailto:***@hotmail.com>>) escribió:

Hola lista buenos días hace poco me metí en el mundo de python y spark, y estoy teniendo un problema de parseo al guardar un data frame y no pude encontrar ninguna solución.
La situación es la siguiente:

Cuanto intento guardar el data frame sin modificarlo de ninguna forma en formato json o guardarlo en una nueva colección de mongodb recibo la siguiente excepción

Error:
com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast STRING into a TimestampType (value: BsonString{value='2018-05-18T14:18:30.736Z'})

cuando realizo el printSchema del data frame a ningún campo se le asigna un conflict type.


información adicional:
driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
Spark 2.2.0
Hadoop 2.7.3
Python 3.4


Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es posible porque el data set es muy grande.
cualquiera guía o dirección por la cual ir es bienvenida.

Gracias y Saludos.
Jean



_______________________________________________
Lista de Correo de PyAr - Python Argentina - ***@python.org.ar<mailto:***@python.org.ar>
Sitio web: http://www.python.org.ar/

Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar


--
Ing. Pedro M. Cabrera M.
+58-424-4974814
Ernesto Crespo
2018-08-20 19:31:41 UTC
Permalink
Saludos Jean.
Yo en este momento me encuentro instalando spark, mongo, pyspark. Te aviso
cualquier cosa.


------------
Ernesto Crespo
https://medium.com/@_seraph1
http://ve.linkedin.com/in/ernestocrespo
http:// <http://blog.crespo.org.ve>*blog.crespo.org.ve
<http://blog.crespo.org.ve>*
https://people.djangoproject.com/ecrespo/
https://github.com/ecrespo
https://gitlab.com/ecrespo
https://bitbucket.org/ecrespo
https://twitter.com/_seraph1
https://www.facebook.com/ernesto.crespo
https://plus.google.com/u/0/+ErnestoCrespo
http://grooveshark.com/ernesto.crespo <http://grooveshark.com/>
Huella de clave = 10D1 46D5 A1E8 B40F 0993 BC9A 9683 1307 C973 0469 (nueva
a 4096 bits)
Buenas personas que trabajan juntas pueden crear grandes cosas.
“Sé curioso. Lee mucho. Trata nuevas cosas. Creo que lo que mucha gente
llama inteligencia solo se reduce a la curiosidad”. Aaron Swartz
‎"Comienzo con la premisa de que la función del lider es producir más
líderes, no más seguidores." Ralph Nader



El dom., 19 de ago. de 2018 a la(s) 23:53, Jean Jacques Delannoy (
***@hotmail.com) escribió:

> Hola lista buenos días hace poco me metí en el mundo de python y spark, y
> estoy teniendo un problema de parseo al guardar un data frame y no pude
> encontrar ninguna solución.
> La situación es la siguiente:
>
> Cuanto intento guardar el data frame sin modificarlo de ninguna forma en
> formato json o guardarlo en una nueva colección de mongodb recibo la
> siguiente excepción
>
>
> Error:
> com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast
> STRING into a TimestampType (value:
> BsonString{value='2018-05-18T14:18:30.736Z'})
>
> cuando realizo el printSchema del data frame a ningún campo se le asigna
> un conflict type.
>
>
> información adicional:
> driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
> Spark 2.2.0
> Hadoop 2.7.3
> Python 3.4
>
>
> Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es
> posible porque el data set es muy grande.
> cualquiera guía o dirección por la cual ir es bienvenida.
>
> Gracias y Saludos.
> Jean
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - ***@python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
Jean Jacques Delannoy
2018-08-20 20:38:30 UTC
Permalink
Gracias, Ernesto

________________________________
De: pyar <pyar-***@python.org.ar> en nombre de Ernesto Crespo <***@gmail.com>
Enviado: lunes, 20 de agosto de 2018 16:31:41
Para: Python Argentina
Asunto: Re: [pyar] PYSPARK MongoDB, problemas de parseo

Saludos Jean.
Yo en este momento me encuentro instalando spark, mongo, pyspark. Te aviso cualquier cosa.


------------
Ernesto Crespo
https://medium.com/@_seraph1
http://ve.linkedin.com/in/ernestocrespo
http://<http://blog.crespo.org.ve>blog.crespo.org.ve<http://blog.crespo.org.ve>
https://people.djangoproject.com/ecrespo/
https://github.com/ecrespo
https://gitlab.com/ecrespo
https://bitbucket.org/ecrespo
https://twitter.com/_seraph1
https://www.facebook.com/ernesto.crespo
https://plus.google.com/u/0/+ErnestoCrespo
http://grooveshark.com/ernesto.crespo<http://grooveshark.com/>
Huella de clave = 10D1 46D5 A1E8 B40F 0993 BC9A 9683 1307 C973 0469 (nueva a 4096 bits)
Buenas personas que trabajan juntas pueden crear grandes cosas.
“Sé curioso. Lee mucho. Trata nuevas cosas. Creo que lo que mucha gente llama inteligencia solo se reduce a la curiosidad”. Aaron Swartz
‎"Comienzo con la premisa de que la función del lider es producir más líderes, no más seguidores." Ralph Nader



El dom., 19 de ago. de 2018 a la(s) 23:53, Jean Jacques Delannoy (***@hotmail.com<mailto:***@hotmail.com>) escribió:

Hola lista buenos días hace poco me metí en el mundo de python y spark, y estoy teniendo un problema de parseo al guardar un data frame y no pude encontrar ninguna solución.
La situación es la siguiente:

Cuanto intento guardar el data frame sin modificarlo de ninguna forma en formato json o guardarlo en una nueva colección de mongodb recibo la siguiente excepción

Error:
com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast STRING into a TimestampType (value: BsonString{value='2018-05-18T14:18:30.736Z'})

cuando realizo el printSchema del data frame a ningún campo se le asigna un conflict type.


información adicional:
driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
Spark 2.2.0
Hadoop 2.7.3
Python 3.4


Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es posible porque el data set es muy grande.
cualquiera guía o dirección por la cual ir es bienvenida.

Gracias y Saludos.
Jean



_______________________________________________
Lista de Correo de PyAr - Python Argentina - ***@python.org.ar<mailto:***@python.org.ar>
Sitio web: http://www.python.org.ar/

Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
William Bolívar
2018-08-21 17:22:01 UTC
Permalink
Hola Jean, Gusto saludarte, lograste solucionar el problema? , no no ser
así, colocá ejemplo de la data que genera el problema y el código que la
procesa para indagar un poco más, cualquier cosa te invito a chequear este
tema acá el que se describe un caso similar al que tienes.
https://groups.google.com/forum/#!topic/mongodb-user/lQjppYa21mQ saludos y
éxitos con el tema

El lun., 20 ago. 2018 a las 0:53, Jean Jacques Delannoy (<
***@hotmail.com>) escribió:

> Hola lista buenos días hace poco me metí en el mundo de python y spark, y
> estoy teniendo un problema de parseo al guardar un data frame y no pude
> encontrar ninguna solución.
> La situación es la siguiente:
>
> Cuanto intento guardar el data frame sin modificarlo de ninguna forma en
> formato json o guardarlo en una nueva colección de mongodb recibo la
> siguiente excepción
>
>
> Error:
> com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast
> STRING into a TimestampType (value:
> BsonString{value='2018-05-18T14:18:30.736Z'})
>
> cuando realizo el printSchema del data frame a ningún campo se le asigna
> un conflict type.
>
>
> información adicional:
> driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
> Spark 2.2.0
> Hadoop 2.7.3
> Python 3.4
>
>
> Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es
> posible porque el data set es muy grande.
> cualquiera guía o dirección por la cual ir es bienvenida.
>
> Gracias y Saludos.
> Jean
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - ***@python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
Jean Jacques Delannoy
2018-08-21 18:44:08 UTC
Permalink
Hola William, todavía no pude solucionar el problema y por desgracia no puedo subir la data ya que esta bajo un NDA, leyendo el link que me enviaste y teniendo un poco más de conocimiento en spark puede ser que el problema venga por el diseño mismo del data frame, voy a probar utilizando el driver de pymongo para poder utilizar los RDD como menciona en el post de jira de mongo.

Gracias por la info.
Saludos.

________________________________
De: pyar <pyar-***@python.org.ar> en nombre de William Bolívar <***@gmail.com>
Enviado: martes, 21 de agosto de 2018 14:22:01
Para: ***@python.org.ar
Asunto: Re: [pyar] PYSPARK MongoDB, problemas de parseo

Hola Jean, Gusto saludarte, lograste solucionar el problema? , no no ser así, colocá ejemplo de la data que genera el problema y el código que la procesa para indagar un poco más, cualquier cosa te invito a chequear este tema acá el que se describe un caso similar al que tienes. https://groups.google.com/forum/#!topic/mongodb-user/lQjppYa21mQ saludos y éxitos con el tema

El lun., 20 ago. 2018 a las 0:53, Jean Jacques Delannoy (<***@hotmail.com<mailto:***@hotmail.com>>) escribió:

Hola lista buenos días hace poco me metí en el mundo de python y spark, y estoy teniendo un problema de parseo al guardar un data frame y no pude encontrar ninguna solución.
La situación es la siguiente:

Cuanto intento guardar el data frame sin modificarlo de ninguna forma en formato json o guardarlo en una nueva colección de mongodb recibo la siguiente excepción

Error:
com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast STRING into a TimestampType (value: BsonString{value='2018-05-18T14:18:30.736Z'})

cuando realizo el printSchema del data frame a ningún campo se le asigna un conflict type.


información adicional:
driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
Spark 2.2.0
Hadoop 2.7.3
Python 3.4


Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es posible porque el data set es muy grande.
cualquiera guía o dirección por la cual ir es bienvenida.

Gracias y Saludos.
Jean



_______________________________________________
Lista de Correo de PyAr - Python Argentina - ***@python.org.ar<mailto:***@python.org.ar>
Sitio web: http://www.python.org.ar/

Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Ernesto Crespo
2018-08-21 22:12:43 UTC
Permalink
Saludos.
YO seguí los pasos del enlace:
https://docs.mongodb.com/spark-connector/current/python-api/

Desde un entorno conda instalé pyspark, con spark y mongo instalado en el
mismo equipo, seguí los pasos del enlace y pude leer datos y escribir en
mongodb desde spark.

Ejecute pyspark desde el entorno de conda, ahí levantó jupyter y desde
jupyter hice las pruebas.

------------
Ernesto Crespo
https://medium.com/@_seraph1
http://ve.linkedin.com/in/ernestocrespo
http:// <http://blog.crespo.org.ve>*blog.crespo.org.ve
<http://blog.crespo.org.ve>*
https://people.djangoproject.com/ecrespo/
https://github.com/ecrespo
https://gitlab.com/ecrespo
https://bitbucket.org/ecrespo
https://twitter.com/_seraph1
https://www.facebook.com/ernesto.crespo
https://plus.google.com/u/0/+ErnestoCrespo
http://grooveshark.com/ernesto.crespo <http://grooveshark.com/>
Huella de clave = 10D1 46D5 A1E8 B40F 0993 BC9A 9683 1307 C973 0469 (nueva
a 4096 bits)
Buenas personas que trabajan juntas pueden crear grandes cosas.
“Sé curioso. Lee mucho. Trata nuevas cosas. Creo que lo que mucha gente
llama inteligencia solo se reduce a la curiosidad”. Aaron Swartz
‎"Comienzo con la premisa de que la función del lider es producir más
líderes, no más seguidores." Ralph Nader



El dom., 19 de ago. de 2018 a la(s) 23:53, Jean Jacques Delannoy (
***@hotmail.com) escribió:

> Hola lista buenos días hace poco me metí en el mundo de python y spark, y
> estoy teniendo un problema de parseo al guardar un data frame y no pude
> encontrar ninguna solución.
> La situación es la siguiente:
>
> Cuanto intento guardar el data frame sin modificarlo de ninguna forma en
> formato json o guardarlo en una nueva colección de mongodb recibo la
> siguiente excepción
>
>
> Error:
> com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast
> STRING into a TimestampType (value:
> BsonString{value='2018-05-18T14:18:30.736Z'})
>
> cuando realizo el printSchema del data frame a ningún campo se le asigna
> un conflict type.
>
>
> información adicional:
> driver: org.mongodb.spark:mongo-spark-connector_2.11:2.2.0
> Spark 2.2.0
> Hadoop 2.7.3
> Python 3.4
>
>
> Ya no se que más hacer para poder guardarlo, convertirlo a pandas no es
> posible porque el data set es muy grande.
> cualquiera guía o dirección por la cual ir es bienvenida.
>
> Gracias y Saludos.
> Jean
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - ***@python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
Loading...