Skip to content

Mapping Dataframe Map type into neo4j #710

@otrofimov

Description

@otrofimov

Hi! I'm trying to load Map column into neo4j, but getting an exception.

: java.util.NoSuchElementException: key not found: MapType(StringType,StringType,true)
at scala.collection.MapLike.default(MapLike.scala:236)
at scala.collection.MapLike.default$(MapLike.scala:235)
at scala.collection.AbstractMap.default(Map.scala:65)
at scala.collection.MapLike.apply(MapLike.scala:144)
at scala.collection.MapLike.apply$(MapLike.scala:143)
at scala.collection.AbstractMap.apply(Map.scala:65)
at org.[REDACTED].spark.converter.SparkToCypherTypeConverter.convert(TypeConverter.scala:128)
at org.[REDACTED].spark.service.SchemaService.$anonfun$createEntityTypeConstraint$4(SchemaService.scala:667)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:400)
at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
at scala.collection.TraversableLike.map(TraversableLike.scala:286)
at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
at scala.collection.AbstractTraversable.map(Traversable.scala:108)

According to this - https://neo4j.com/docs/spark/current/types/#_map_type my Map column is supposed to get flattened, but I couldn't find a proper mapping to it here

private val mapping: Map[DataType, String] = Map(

Could you help to understand how this works?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions