Amazon'un Elastik Harita Azaltmasında Pig komutumu (UDF'leri kullanan) çalıştırmaya çalışıyorum. UDF'lerimden bazı statik dosyaları kullanmam gerekiyor.Elastik Harita üzerinde Pig ile Dağıtılmış Önbellek Kullanma
benim UDF böyle bir şey yapmak: Ben Domuz işi yürütmeye Ancak
/path/to/myfile.txt benim s3 kovada dosyayı depolamış
public class MyUDF extends EvalFunc<DataBag> {
public DataBag exec(Tuple input) {
...
FileReader fr = new FileReader("./myfile.txt");
...
}
public List<String> getCacheFiles() {
List<String> list = new ArrayList<String>(1);
list.add("s3://path/to/myfile.txt#myfile.txt");
return list;
}
}
, ben amazon EMR hakkında domuz komut çalıştırırken nasıl, dağıtılmış do önbellek dosyaları:
Got an exception java.io.FileNotFoundException: ./myfile.txt (No such file or directory)
Yani, benim sorum: bir istisna görüyor musunuz?
DÜZENLEME: Pig-0.9'un, pig-0.9'un getCacheFiles() adında bir işlevi olmadığı anlaşılmıştır. Amazon domuz-0.6 desteklemez ve bu yüzden dağıtılmış önbellek çalışması için farklı bir yol bulmaya ihtiyacım var 0,6
Belki zaten biliyorsunuz, ama diğerleri için, Amazon şimdi Pig 0.6 ve 0.9.1'i destekliyor http://aws.amazon.com/elasticmapreduce/faqs/#pig-7 –