在下面的例子中,
df.a == 1
谓词返回正确的结果,但是df.a == None
返回0,而应该返回1。l = [[1], [1], [2], [2], [None]]
df = sc.parallelize(l).toDF(['a'])
df # DataFrame[a: bigint]
df.collect() # [Row(a=1), Row(a=1), Row(a=2), Row(a=2), Row(a=None)]
df.where(df.a == 1).count() # 2L
df.where(df.a == None).count() # 0L
使用Spark 1.3.1