2015-07-28 47 views
0

SparkR列提供了一个很长的有用方法列表,例如'isNull',但在sparkR中我有一个使用它们的问题。我R中运行sparkR这样使用sparkR列

CD /home/ole/R/spark-1.4.0 ./bin/sparkR --packages com.databricks:火花csv_2.10:1.0.3 sqlContext

当我例如键入此 U = C() ISNULL(U) 我收到此消息 错误(功能(类,FDEF,mtable): 无法找到函数 '的isNull' 继承的方法为'NULL'

回答

2

这是因为isNull期望DataFrame的列而不是矢量,它会检查更多里斯是NULL,它的工作原理如下:

a <- createDataFrame(sqlContext,data.frame(b=c("a","b",NA,"c"),c=c(1,2,3,4))) 
a$d <- isNull(a$b) 
collect(a) 

它还返回一个(逻辑)柱,这就是为什么我把它添加到数据帧。然而,您会注意到SparkR并未将NA存储为NULL,因此所有逻辑都是FALSE,但您已经看到该函数是如何工作的。