首页 > 解决方案 > 火花数据框从数组中选择一个元素,但该值不是正确的

问题描述

df.select($"onenews".getItem(1), $"onenews").show(5,false)

结果显示如下,字段值getItem(1)不正确,我得到的“onenews”列来自字符串的拆分部分。

在此处输入图像描述

我知道原因,这是因为 spark 的惰性计算,onenews 的列是从包含 shuffle 的函数计算的。

标签: arraysapache-sparkdataframe

解决方案


我没有清楚地理解你的问题,根据我的理解,如果你想从 onenews 列中获取第 0 个元素,你需要使用 getItem(0) insted of getItem(1)。

示例代码:

df.select(df.col("onenews").getItem(0)).show()

推荐阅读