我有权访问具有基本R(2.14.1)但每个节点中未安装附加软件包的Hadoop集群。我一直在编写基本的R mapper和reducer流脚本来解决这个事实,即我没有额外的软件包。但是,我已经到了需要使用某些软件包的地步,主要是rjson,作为我的脚本的一部分。在Hadoop节点上临时安装R包以进行流式传输作业
我没有群集的管理员权限,并且用户帐户相当有限。让集群管理员在每个节点上安装软件包不是一个选项(现在),并且集群没有外部Internet访问权限。
我已经将rjson_0.2.8.tar.gz源文件上传到我的网关节点。是否可以通过在这些行中添加install.packages("rjson_0.2.8.tar.gz", repos = NULL, lib = /tmp)
或某些东西来临时安装R包,以便在脚本启动时安装包,并通过流作业的-cacheArchive参数传递源代码?我希望将软件包安装在临时位置,以便在作业完成时消失。
这甚至可能吗?
我知道我会得到一些“使用python”的答案,因为它是用于处理JSON,这是一个选项,但问题是任何包。 :)
这听起来像一个有趣的方法。我想了解更多。我的环境是RHEL。我实际上尝试从网关源安装一个软件包,但由于用户限制,我得到了“无法编译”错误。我尝试的另一种方法是在另一台RHEL计算机上tar.gz软件包的安装目录,并将其作为归档文件提交,但是我还没有能够让它工作。 – wahalulu