我在R中有一些经验,并且通过首先在Spark中探索R的实现来学习Spark 1.6.1。
我注意到R sample()命令的语法在Spark中是不同的:
base :: R:sample(x, size, replace)
Spark R:sample(DataFrame, withReplacement, fraction)
base::sample(x, size, replace)
仍然有效,但被Spark R版本屏蔽。
当大多数命令在两者之间相同时,有没有人知道为什么会这样?
是否存在我应该使用的用例与其他用例?
有没有人找到Spark R和base :: R之间差异的权威列表?
谢谢!
答案 0 :(得分:2)
如果您有SparkR数据帧,则需要使用SparkR api进行采样。如果您有R数据帧,则需要使用base :: R采样函数调用。 SparkR不是R,函数调用也不相同。
您遇到的问题是masking之一。
答案 1 :(得分:0)
为了解决问题的第二部分,为了其他人的利益,我发现Spark文档确实列出了被屏蔽的R函数: R Function Name Conflicts