AttributeError:'NoneType'对象没有属性'persist'

问题描述 投票:0回答:1

当我试图在pyspark中坚持Dataframe时,我遇到了AttributeError: 'NoneType' object has no attribute 'persist'错误。伪代码如下:

ss = SparkSession.builder.getOrCreate()
sqlDF = ss.sql(query) // query contains udf
sqlDF.persist()

ss.sql(query).show(10)的结果如下

      dt|  t|                   u| ra| tm|tra|  alg| fa|
+----------+---+--------------------+---+---+---+-----+---+
|2019-04-22|  1|0e4466fb752e0ff6a...|  2|   |   |h5_rl|   |
|2019-04-22|  1|05ce59ff55b70a805...|  4|   |   | null|   |
|2019-04-22|  1|07bc6ebd8f9d0082d...|  2|   |   |h5_rl|   |

某些单元格值是非类型引起的错误是什么?如果是这样,如何解决?

function pyspark persist
1个回答
0
投票

您可以尝试使用sqlDFand打印出sqlDF.printSchema()的模式,发现某些列是NoneType,因此spark不知道如何序列化它们。它可能是由某些列的所有值都为null引起的,然后spark将该列的模式推断为NoneType。您可以在查询中手动将列转换为所需的类型。

© www.soinside.com 2019 - 2024. All rights reserved.