Я использую спарк версии 2.2.Я пытаюсь создать фрейм данных с 1 столбцом в виде MapType.
Я пробовал следующие вещи для этого:
scala> val mapSeq = Seq((Map(1-> 2, 11-> 22))).toDF("num")
<console>:23: error: value toDF is not a member of Seq[scala.collection.immutable.Map[Int,Int]]
val mapSeq = Seq((Map(1-> 2, 11-> 22))).toDF("num")
и
scala> spark.createDataFrame(List(Map("a" -> "b")), StructType(MapType(StringType, StringType)))
error: overloaded method value apply with alternatives:
(fields: Array[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType <and>
(fields: java.util.List[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType <and>
(fields: Seq[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType
cannot be applied to (org.apache.spark.sql.types.MapType)
spark.createDataFrame(List(Map("a" -> "b")), StructType(MapType(StringType, StringType)))
Оба метода выдаетошибка.
Я попытался найти и найти этот средний блог - https://medium.com/@mrpowers/working-with-spark-arraytype-and-maptype-columns-4d85f3c8b2b3 Но в этом блоге используется какая-то более старая версия искры.
Есть идеи, как мне это создать?