mongodb-user
[Arriba] [Todas las Listas]

[mongodb-Usuario] Re: lectura de Asunto de existir documento con utiliza

To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Subject: [mongodb-Usuario] Re: lectura de Asunto de existir documento con utilizar spark-connector - problema de Conversión del Tipo?
From: "'Wan Bachtiar' via mongodb-user" <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Mon, 7 Aug 2017 00:26:30 -0700 (PDT)
Delivery-date: Mon, 07 Aug 2017 03:26:40 -0400
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=date:from:to:message-id:in-reply-to:references:subject:mime-version :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=3Q+PDg4blA5RHGBuF14FaZa1xx+4Zj/YpPER4bOxbmM=; b=GD7RHdhY7BRLjpxyd17WSobl8KrX9OMAxe3J+jo+nynxn0PHb48udpgAPAJD96HJn9 s4GGgQd0eaUDwIqHh9VO5DgtPJL4QmlLY+EeH8AUzqLWrUPll1lRE1jAvx5rdyayZjkH NqXzW2MOujld0kBpegGlb2hPNqS8s7qvL2AoUyZ3Ivyl6n+eYtmXemtxUt7b5VlmEa9U uraiC0ZCSNDkZMyMRDQEeIL5Pp4tnNBvySWIe0OZrbVH2SAIfluPvUCEJaapqIqsLNS8 b/WJ1Ze+pfEmDft1bAgKmUwd6IeE6MwVBB7x1scy7nxU0Tzt2PtTO+6y/dsIVkDSaXrv lN5Q==
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <592d2dec-2fbf-4945-9b3d-548eed542cbf@googlegroups.com>
List-archive: <https://groups.google.com/group/mongodb-use>
List-help: <https://groups.google.com/support/>, <mailto:mongodb-user+help@googlegroups.com>
List-id: <mongodb-user.googlegroups.com>
List-post: <https://groups.google.com/group/mongodb-user/post>, <mailto:mongodb-user@googlegroups.com>
List-subscribe: <https://groups.google.com/group/mongodb-user/subscribe>, <mailto:mongodb-user+subscribe@googlegroups.com>
List-unsubscribe: <mailto:googlegroups-manage+1044811755470+unsubscribe@googlegroups.com>, <https://groups.google.com/group/mongodb-user/subscribe>
Mailing-list: list mongodb-user@xxxxxxxxxxxxxxxx; contact mongodb-user+owners@xxxxxxxxxxxxxxxx
References: <592d2dec-2fbf-4945-9b3d-548eed542cbf@googlegroups.com>
Reply-to: mongodb-user@xxxxxxxxxxxxxxxx

Yo *don’*t quiere filtrar fuera de estas filas como el resto del *metadata es útil 
a mí, pero yo también *don’*t quiere tiene que *remap todo 900 campos del 
*schema justo para emprender 4 campos problemáticos - es allí una manera fácil de decir 
el código de Conversión del Tipo a sencillamente hacer una suposición basada en un poniendo / 
algo puedo forzar?

*Hi Luke, 

Él’*s sido un rato desde ti *posted esta cuestión, te tiene encontrado la respuesta 
a vuestro asunto ?

Supuse que el *schema es *inferred por *Spark y no explícitamente especificado 
*i.*e. Mapa 900 campos.
Basado en el mensaje de excepción tú *posted, el valor parece para ser viniendo 
de *geo campo o clase.
*Spark  campos de muestras a *infer el *schema, y en este caso es 
probablemente que lo ha *sampled todo *geo campos de *NULL valores. Qué resultando 
en *inferring tipo para *geo campo como *NullType. Cuándo encontró un documento 
con no-*null el valor de tipo lo Documenta lo ve tan conflicto. 

Un trabajo alrededor de sin definir vuestro mapa propio de 900 campos, es para dejarlo 
*infer el *schema y entonces modificar tipo seleccionado sólo.
Por ejemplo: 

>>> *df.*printSchema()
Raíz
 |-- _*id: *struct (*nullable = cierto)
 |    |-- *oid: cadena (*nullable = cierto)
 |-- un: *null (*nullable = cierto)
 |-- *b: cadena (*nullable = cierto)
# Ejemplo de cambiar el *NullType a *StringType>>> modificado_*df = *df.*withColumn("*geo", *df["*geo"].Reparto("cadena")) >>> modificó_*df.*printSchema()
Raíz
 |-- _*id: *struct (*nullable = cierto)
 |    |-- *oid: cadena (*nullable = cierto)
 |-- un: cadena (*nullable = cierto)
 |-- *b: cadena (*nullable = cierto)

Ve también *pyspark.*sql.Tipo 
<*http://*spark.*apache.*org/*docs/2.1.0/*api/pitón/*pyspark.*sql.*html#Módulo-*pyspark.*sql.Consideraciones>

de tipo,
*Wan. 
​

-- 
Recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo"
de usuario.

Para otro *MongoDB opciones de apoyo técnico, ve: *https://*docs.*mongodb.*com/Apoyo/manual/
--- 
recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo" de usuario.
A *unsubscribe de este grupo y la parón que recibe *emails de él, enviar un *email a *mongodb-usuario+unsubscribe@xxxxxxxxxxxxxxxx.
A correo a este grupo, envía *email a *mongodb-user@xxxxxxxxxxxxxxxx.
Visita este grupo en *https://grupos.*google.*com/Grupo/*mongodb-usuario.
Para ver esta discusión en la visita de web *https://grupos.*google.*com/*d/*msgid/*mongodb-Usuario/3855*e735-*d898-474*d-*bcab-43*af8*f0*e2532%40*googlegroups.*com.
Para más opciones, visita *https://grupos.*google.*com/*d/*optout.

I don’t want to filter out these rows as the rest of the metadata is useful 
to me, but I also don’t want to have to remap all 900 fields from the 
schema just to tackle 4 problematic fields - is there an easy way to tell 
the Type Conversion code to simply make an assumption based on a setting / 
something I can force?

Hi Luke, 

It’s been a while since you posted this question, have you found the answer 
to your issue ?

I assumed that the schema is inferred by Spark and not explicitly specified 
i.e. map 900 fields.
Based on the exception message you posted, the value seems to be coming 
from geo field or sort.
Spark would samples fields to infer the schema, and in this case it is 
likely that it has sampled all geo fields of NULL values. Which resulting 
in inferring type for geo field as NullType. When it encountered a document 
with non-null value of type Document it sees it as conflict. 

A work around without defining your own map of 900 fields, is to let it 
infer the schema and then modify selected types only.
For example: 

>>> df.printSchema()
root
 |-- _id: struct (nullable = true)
 |    |-- oid: string (nullable = true)
 |-- a: null (nullable = true)
 |-- b: string (nullable = true)
# Example of changing the NullType to StringType>>> modified_df = df.withColumn("geo", df["geo"].cast("string")) >>> modified_df.printSchema()
root
 |-- _id: struct (nullable = true)
 |    |-- oid: string (nullable = true)
 |-- a: string (nullable = true)
 |-- b: string (nullable = true)

See also pyspark.sql.types 
<http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#module-pyspark.sql.types>

Regards,
Wan. 
​

-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.com/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/3855e735-d898-474d-bcab-43af8f0e2532%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<Anterior por Tema] Tema Actual [Siguiente por Tema>