如何保留字串数据行的最后一个字(pyspark)

hrysbysz  于 2022-12-11  发布在  Spark
关注(0)|答案(1)|浏览(191)

我的数据集中有一个字符串列,我希望使用pyspark只保留最后一个单词
示例:
我的列
美国广播公司JDJA 500
jsh高速j z500
ajd jdi d500型汽车
我想得到这个:
我的列
A500型
Z500系列
d500单位
我想我必须使用split函数,但我没有成功做到这一点。单词的分隔符是空格:“”
我试过这个:

Mydata = Mydata.withColumn('KeepLast', F.trim((F.split(F.col('MyColumn')," ")[-1])))

但KeepLast列对于所有值都为空,提前感谢您的帮助

rsl1atfo

rsl1atfo1#

可以使用element_at提取split后面的最后一个元素。

spark.sparkContext.parallelize([('abc jdj a500', )]).toDF(['strcol']). \
    withColumn('new', func.element_at(func.split('strcol', ' '), -1)). \
    show()

# +------------+----+
# |      strcol| new|
# +------------+----+
# |abc jdj a500|a500|
# +------------+----+

相关问题