我有一个包含StringType和IntegerType列的数据框。 我的目标是检查IntegerType列是否为空,如果它为空或null,请使用StringType列的散列填充它。
这是我的DataFrame,其中Column1为StringType,Column2为IntegerType:
+--------------+-----------+
|Column1 |Column2 |
+--------------+-----------+
| abcdefghij | null |
| s675klm@ | 675 |
+--------------+-----------+
我正在尝试这样的事情:
from pyspark.context import SparkContext
from pyspark.sql import functions as f
df = df.withColumn('Column2', f.when((f.trim(df['Column2']).isNotNull()), df['Column2']).otherwise(f.md5(df['Column1'])))
我收到错误“'Nonetype'对象没有属性'withcolumn'”
我在这里错过了什么吗? 这有可能吗?
发布于 2018-08-22 18:01:50
正如@pault提到的,我在运行withColumn之前确实做了df = df.show()
一旦它被删除,一切正常。 我的DataFrame现在看起来像这样:
+--------------+-----------+
|Column1 |Column2 |
+--------------+-----------+
| abcdefghij | d7d0a2a |
| s675klm@ | 675 |
+--------------+-----------+
谢谢@pault
https://stackoverflow.com/questions/-100002364
复制相似问题