【问题标题】:java.io.NotSerializableException: org.apache.spark.sql.Column when I created a new column using a condition with a UDFjava.io.NotSerializableException: org.apache.spark.sql.Column 当我使用带有 UDF 的条件创建新列时
【发布时间】:2020-02-14 07:46:10
【问题描述】:

我根据文本摘要创建了一个数据框,以查找文档频率 (DF) 和逆文档频率 (IDF)。

这里是文档频率和单词标记的列 -

但是,当我尝试使用用户定义的函数计算数据框中每一行的 IDF 时,我收到了上述错误。

这里是 udf(遍历每一行)和函数(计算 IDF)的代码

【问题讨论】:

    标签: scala apache-spark-sql


    【解决方案1】:

    您可能不需要自己编写函数来计算 IDF,因为它已经在 spark-mllib 中实现,请参阅:

    https://spark.apache.org/docs/latest/mllib-feature-extraction.html#tf-idf

    此外,如果不了解 calcIDF 函数是如何定义的,我们无法为 NotSerializableException 提供太多帮助。

    【讨论】:

    • 我添加了计算IDF的函数
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    相关资源
    最近更新 更多