【问题标题】:Pyspark Py4JJavaError: An error occurred while calling o401.fit while trying to use IDFPyspark Py4JJavaError:在尝试使用 IDF 时调用 o401.fit 时发生错误
【发布时间】:2021-11-14 12:10:21
【问题描述】:

我已经使用this tutorial from towardsdatascience 在 google colab 上设置了 pyspark。它运行良好,直到尝试使用 IDF 失败

from pyspark.ml.feature import IDF

idf = IDF(inputCol='hash', outputCol='features')
model_idf = idf.fit(df_hash) <--- fails here

出现下一个错误:

Py4JJavaError: An error occurred while calling o401.fit.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 56.0 failed 1 times, most recent failure: Lost task 0.0 in stage 56.0 (TID 697) (fbea1ac0124f executor driver): org.apache.spark.SparkException: Failed to execute user defined function(Tokenizer$$Lambda$3093/1092846241: (string) => array<string>)

Java 版本为 8

!apt-get install openjdk-8-jdk-headless -qq > /dev/null
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"

有人遇到过类似的问题吗?

【问题讨论】:

    标签: java python pyspark google-colaboratory tf-idf


    【解决方案1】:

    问题在于我尝试标记化然后应用 IDF 的列中的数据中的 NA。在此列中删除带有 NA 的行对我有帮助:

    df_without_na = df.na.drop(subset='my_column_name')
    df_without_na.show()
    

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多