Spark数据框:从数组中删除元素

Posted

技术标签:

【中文标题】Spark数据框:从数组中删除元素【英文标题】:Spark dataframe: deleting an element from an array 【发布时间】:2016-08-15 22:44:16 【问题描述】:

我有一个带有 column1 的 Spark 数据框:

column1: WrappedArray(Book1/Title1, Book2/Title2, Book3/Title3) column2: 这是第一句话

我想从两列中删除第一个元素,column1和column2所需的o/p分别是:

column1: WrappedArray(Book2/Title2, Book3/Title3) column2: 是第一句

对于第 2 列,这里是我编写的 UDF,但它不起作用

val removefirst = udf((x: String) => x.split(" ").slice(1,x.split(" ").size).mkString(" "))

这方面的任何帮助都会很棒。

【问题讨论】:

【参考方案1】:

您应该能够将tail 映射到WrappedArray

【讨论】:

【参考方案2】:
val removefirst = udf((x: String) => x.split(" ").slice(1,x.split(" ").size).mkString(" "))

上面的代码适用于 column2。稍后将发布第 1 列解决方案。

【讨论】:

以上是关于Spark数据框:从数组中删除元素的主要内容,如果未能解决你的问题,请参考以下文章

根据条件从 spark 数据框中删除行

从 pyspark 数据框中删除第一行

获取被筛选器从 spark 数据帧中删除的行的示例

无法在 spark/pyspark 中创建数组文字

FutureWarning:元素比较失败;从熊猫数据框中删除所有行时

从 pandas 数据框中的元组列中删除元素