【发布时间】:2020-09-04 19:30:23
【问题描述】:
我使用的是 spark 2.4。
我在 spark 数据框中有一个 ArrayType(StringType()) 列和一个 StringType() 列。我需要在 ArrayType(StringType()) 列中找到 StringType() 列的位置。
示例输入:
+---------------+---------+
|arrayCol |stringCol|
+---------------+---------+
|['a', 'b', 'c']|'b' |
+---------------+---------+
|['a', 'b', 'c']|'d' |
+---------------+---------+
样本输出:
+---------------+---------+-----+
|arrayCol |stringCol|Index|
+---------------+---------+-----+
|['a', 'b', 'c']|'b' |2 |
+---------------+---------+-----+
|['a', 'b', 'c']|'d' |null |
+---------------+---------+-----+
我尝试了 array_position,但它不起作用,并且出现“列不可迭代”错误。
我也尝试过结合 expr、transform 和 array_position,但我想知道 是否有不需要使用 expr 的解决方案。
谢谢:)
【问题讨论】:
标签: apache-spark pyspark