Github user ravipesala commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2663#discussion_r214592707 --- Diff: integration/spark-datasource/src/main/scala/org/apache/spark/sql/carbondata/execution/datasources/SparkCarbonFileFormat.scala --- @@ -214,6 +216,30 @@ class SparkCarbonFileFormat extends FileFormat data } + private def extractMapData(data: AnyRef, mapType: MapType): ArrayObject = { + val mapData = data.asInstanceOf[MapData] + val keys: ArrayData = mapData.keyArray() + val values: ArrayData = mapData.valueArray() + var keyValueHolder = scala.collection.mutable.ArrayBuffer[AnyRef]() --- End diff -- I think better you can directly use `extractData(row: ArrayData)` on key and value. And after that apply zip to create array of structobject
---