2016-04-07 42 views
0

UDF'imi kullanan bir Pig komut dosyası yazmaya çalışıyorum. Onu çalıştırdığımda, "java.lang.NoSuchMethodError" gibi "Guice oluşturma hataları" na girerim. Açıkçası, benim hadoop ortamım kullandığımdan farklı bir Guice sürümü kullanıyor. Apache Pig: Guir oluşturma hataları. java.lang.NoSuchMethodError

  • ‘PIG_CLASSPATH’, ‘HADOOP_CLASSPATH’, ‘CLASSPATH'e’ arasında önüne ekleyin

    1. KAYIT my.jar: Ben gibi önünde benim Jar koyarak çeşitli yollar denedik.
    2. çalıştı: Bu çalıştı ihracat HADOOP_USER_CLASSPATH_FIRST = true
    3. -Dmapreduce.job.user.classpath.first = true

    Yok! Hadoop sürümü #: Hadoop 2.6.0-cdh5.4.5

    İşte benim basit bir senaryo:

    REGISTER my.jar; 
    A = LOAD '/tmp/mydir/' AS (line:chararray); 
    B = FOREACH A generate com.mypackage.udf.MyUdf(line); 
    dump B; 
    
  • cevap

    0

    Ya affı yolunu sağlamak KAYIT udf.jar

    VEYA

    iken

    , kavanozu ilave kavanoz komutu kullanarak sağladı.

    domuz -Dpig.additional.jars =/mutlak/yol/arasında/kavanoz/my.jar [your_other_paramter]

    Ayrıca üst kısmında, senin UDF bir isim tanımlayabilirsiniz komut dosyası, böylece her seferinde eksiksiz UDF adı vermeniz gerekmez.

    +0

    Domuzda -libjars eşdeğeri nedir? – DilTeam