【发布时间】:2020-09-28 17:50:02
【问题描述】:
scala> val map1 = spark.sql("select map('p1', 's1', 'p2', 's2')")
map1: org.apache.spark.sql.DataFrame = [map(p1, s1, p2, s2): map
scala> map1.show()
+--------------------+
| map(p1, s1, p2, s2)|
+--------------------+
|[p1 -> s1, p2 -> s2]|
+--------------------+
scala> spark.sql("select element_at(map1, 'p1')")
org.apache.spark.sql.AnalysisException:无法解析'
map1'给定 输入列:[];第 1 行,第 18 行; '项目 [unresolvedalias('element_at('map1, p1), None)]
我们如何在第二个 sql 查询中重用数据框 map1?
【问题讨论】:
-
element_at接受column参数。你正在向它传递一个数据框。
标签: apache-spark apache-spark-sql spark-structured-streaming