Я хотел бы заархивировать файлы драгоценного камня Ruby и распространить их на свой кластер EMR. Я также хотел бы использовать простой скрипт Ruby, который ссылается на файлы в этом драгоценном камне в задании Hive Streaming.
Я добавляю файл и архив в распределенный кэш Hadoop, используя:
ADD FILE /home/user/mobile.rb;
ADD ARCHIVE /home/user/browser-master.zip;
Внутри mobile.rb я использую приведенный ниже код для имитации использования драгоценного камня:
$.push File.expand_path("../browser-master/lib", __FILE__)
require "browser"
Когда у меня есть разархивированный архив и файл mobile.rb в одном и том же каталоге на моем локальном компьютере, я могу передавать данные в него и запускать программу без проблем.
Но когда я добавляю файлы в свой кластер 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 указывать на что-то еще, когда архив распаковывается в распределенном кэше?
Я использую Hive 0.11.