猿问

使用复杂类型查询SparkSQLDataFrame

使用复杂类型查询SparkSQLDataFrame

如何使用映射/数组等复杂类型查询RDD?例如,当我编写这个测试代码时:

case class Test(name: String, map: Map[String, String])val map = Map("hello" -> "world", "hey" -> "there")val map2 = Map("hello" -> 
"people", "hey" -> "you")val rdd = sc.parallelize(Array(Test("first", map), Test("second", map2)))

我想语法应该是这样的:

sqlContext.sql("SELECT * FROM rdd WHERE map.hello = world")

sqlContext.sql("SELECT * FROM rdd WHERE map[hello] = world")

但我得到了

无法访问MapType类型中的嵌套字段(StringType,true)

org.apache.spark.sql.catalyst.errors.package$TreeNodeException:未解析属性

分别。


qq_遁去的一_1
浏览 1439回答 3
3回答
随时随地看视频慕课网APP
我要回答