对于Spark和SparkR,我相当新,并且可能有一些基本问题。为什么Window函数(延迟)在SparkR中不起作用?
本练习的目的是在SparkR中实现窗口函数(lead,lag,rank等)。
我称为那里提到下面的链接和Databricks后但没有利用 -
代码段我使用:
初始化sqlContext并注册该数据帧作为一个临时表使用 Registertemptable
output_data<-SparkR::sql(sqlContext, "select *,lag(type) over(partition by key order by key) as lag_type from input_data")
的错误我们面临的是:
failure: ``union'' expected but `(' found
另一个建议,我发现是使用一个Hivecontext而非SQLcontext作为SQLcontext可能不允许所有功能。
在该方法中,初始化Hivecontext并试图运行HiveQL 做同样给了我们一个错误说:
cannot find table named input_table
问:做我们需要运行类似registertemptable所以一些命令至于允许Hivecontext访问表?
saveastable可能是一个选项,但从我读到的内容来看,它将收集S3存储中的数据,而不是将其存储在群集的内存中。
希望对此有所帮助! 谢谢!
人们似乎在这个问题上这么多的问题。他们并不都很清楚。你愿意重温你的问题吗? – eliasah