gpt4 book ai didi

apache-spark - 使用 lit() 在 Spark 中创建新列

转载 作者:行者123 更新时间:2023-12-04 05:10:51 26 4
gpt4 key购买 nike

我对 Spark 和 Python 还很陌生,所以对于更有经验的人来说这可能是显而易见的。

我已经手动创建了一列,并且想创建另一列,其中所有值都是“s”。我正在学习的类(class)建议使用 lit() 函数。但是,我无法为我的生活弄清楚如何。此代码给出此错误:“TypeError:'Column' object is not callable”

wordsDF = sqlContext.createDataFrame([('cat',), ('elephant',), ('rat',), ('rat',), ('cat', )], ['word'])
wordsDF.show()
from pyspark.sql.functions import lit, concat
pluralDF = ([(wordsDF.word.lit(),'s',)], ['words', 's'])
pluralDF.show()

(我使用 show 函数来显示结果以确保我做对了。如果我只运行第 1 行和第 2 行,它会显示我的动物列表,但第 4 行和第 5 行会失败。)

导师给出的提示代码是这样的(第4行):

pluralDF = wordsDF.<FILL IN>

非常感谢任何帮助。谢谢!

最佳答案

您也可以使用 DataFrame 的方法 selectconcat 来完成它功能。

pluralDF = wordsDF.select("*", concat(df['word'], lit('s')).alias("plural")) 

关于apache-spark - 使用 lit() 在 Spark 中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39897416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com