我希望压缩Ruby的文件,并将它们分发到我的EMR集群中。我还想使用一个简单的Ruby脚本,它在Hive流作业中引用了这个宝石中的文件。
我使用以下方法将文件和存档添加到Hadoop分布式缓存中:
ADD FILE /home/user/mobile.rb;
ADD ARCHIVE /home/user/browser-master.zip;在mobile.rb内部,我使用下面的代码来模拟使用gem:
$.push File.expand_path("../browser-master/lib", __FILE__)
require "browser"当我在本地机器上将解压缩存档和mobile.rb文件放在同一个dir中时,我可以将数据流到它并运行程序。
但是,当我将文件添加到Hadoop集群时,我会得到以下错误:
FAILED: Execution Error, return code 20003 from org.apache.hadoop.hive.ql.exec.MapRedTask. An error occurred when trying to close the Operator running your custom script. 当在分布式缓存中解压缩存档时,我的mobile.rb需要指向其他的东西吗?
我用的是0.11蜂巢。
发布于 2013-11-13 06:23:42
在进行了一些测试之后,使用ADD FILE添加整个目录(解压缩)似乎是可行的:
ADD FILE /home/user/browser-masterhttps://stackoverflow.com/questions/19736515
复制相似问题