2013-11-01 3 views
2

Я хотел бы заархивировать файлы жемчужины 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.

ответ

0

После выполнения некоторых испытаний, добавляя весь каталог (распакованный) с помощью ADD FILE, казалось, работали:

ADD FILE /home/user/browser-master 
+0

Просто обновление, я использую этот подход с Руби и Python, и это работает великолепно. – DJElbow

Смежные вопросы