Я хотел бы заархивировать файлы жемчужины Ruby и распространить их на свой EMR-кластер. Я также хотел бы использовать простой скрипт Ruby, который ссылается на файлы в этом драгоценном камне в задаче по потоку Hive.Использование распределенного кэша - HIVE STREAMING
добавить как файл и архив в Hadoop Distributed Cache с помощью:
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.
Просто обновление, я использую этот подход с Руби и Python, и это работает великолепно. – DJElbow