相关疑难解决方法(0)

Spark Dataframe列,其他列的最后一个字符

我正在寻找一种方法来从数据帧列中的字符串中获取最后一个字符并将其放入另一列.

我有一个Spark数据框,如下所示:

    animal
    ======
    cat
    mouse
    snake
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

    lastchar
    ========
    t
    e
    e
Run Code Online (Sandbox Code Playgroud)

现在我可以使用看起来像这样的UDF来做到这一点:

    def get_last_letter(animal):
        return animal[-1]

    get_last_letter_udf = udf(get_last_letter, StringType())

    df.select(get_last_letter_udf("animal").alias("lastchar")).show()
Run Code Online (Sandbox Code Playgroud)

我很好奇是否有更好的方法在没有UDF的情况下做到这一点.谢谢!

apache-spark apache-spark-sql pyspark pyspark-sql

6
推荐指数
1
解决办法
7200
查看次数