从配置单元执行 R 脚本

Posted

技术标签:

【中文标题】从配置单元执行 R 脚本【英文标题】:excute R script from hive 【发布时间】:2012-12-02 09:28:09 【问题描述】:

有谁知道谁将数据从 hive 读取到 R 然后返回到 Hive? 我可以像这样使用 Python 轻松做到这一点:

for line in sys.stdin:

  Some code ...

  sys.stdout.write(Output + '\n') 

R中有类似的方法吗?

谢谢 托默

【问题讨论】:

您可能对此q:***.com/questions/9871307/…的答案和cmets感兴趣 我只是好奇为什么标题是“执行...”。正在执行什么?我尝试将其更改为“在 Windows hive 中读取数据”,但更改被拒绝。 我猜它因“Windows”部分而被拒绝。这与 Windows 无关。 【参考方案1】:

如果您在 hive 服务器上设置了 Rstudio,您可以通过 R 脚本轻松访问它。你需要 Rhive 包。 http://cran.r-project.org/web/packages/RHive/

之后您需要做的就是在 R 配置文件中设置 hadoop 和 hive home 的路径 并使用

library(Rhive)
rhive.init()
rhcon<-rhive.connect(address,port=)

希望有帮助!

【讨论】:

【参考方案2】:

Ofir,我想你可以在 R 中以某种方式编写代码。 准确地说:

conn <- file("stdin", open="r")
while (length(next.line <- readLines(conn, n=1, warn=FALSE)) > 0)  
    # processing
    cat(output)

【讨论】:

以上是关于从配置单元执行 R 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何将配置从配置单元脚本传递到 UDF

如何从 bash shell 脚本运行直线和配置单元查询

无法将参数传递给配置单元脚本

PythonSpark:需要从文件列执行配置单元查询

使用 sqoop 将选定数据从 oracle db 导入 S3,并在 AWS EMR 上使用选定数据创建配置单元表脚本

azkaban(安装配置加实战)