Запустите Pig, встроенный в Java - PullRequest
0 голосов
/ 06 декабря 2018

Когда я пытаюсь запустить команды pig в grunt shell, это работает.Однако, когда я пытаюсь запустить его с PigRunner внутри Java-программы в локальном режиме, он дает найденный интерфейс, но ожидаемая ошибка класса.

Я использую hadoop2.5.0cdh5.3.2 и pig0.12.0.

Я включил код для java файла

 public class local
{
public static void main(String arg[])
{

    try {test();}
    catch (IOException e)
    {e.printStackTrace();}
}

public static void test() throws IOException 
{
    File f1 = new File("myscript.pig");
    f1.deleteOnExit();

    FileWriter fw1 = new FileWriter(f1);
    fw1.append("A = load '/home/ritika/NLP/Libraries/dict.txt' as words:chararray;");
    fw1.append("dump A;");
    fw1.close();

    String[] args = { "-x", "local", "myscript.pig" };
    PigStats stats = PigRunner.run(args, null);


}
}

Это ошибка:

2018-12-06 14:54: 30,819 [JobControl] ОШИБКА org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl - Ошибка при попытке запуска заданий.java.lang.IncompatibleClassChangeError: Найден интерфейс org.apache.hadoop.mapreduce.JobContext, но ожидается, что класс находится в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.setupUdfEnvAg.jpgapache.pig.backend.hadoop.executionengine.mapReduceLayer.JobSubmitter.submitJobInternal (JobSubmitter.java:430) в org.apache.hadoop.mapreduce.Job $ 10.run (Job.java:1295) в org.apache.hadoop.mapreduce.Job $ 10.run (Job.java:1292)в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:422) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1642) в org.apache.hadoop.mapreduce.Job.submit (Job.java:1292) в org.apache.hadoop.mapreduce.lib.jobcontrol.ControlledJob.submit (ControlledJob.java:335) вorg.apache.hadoop.mapreduce.lib.jobcontrol.JobControl.run (JobControl.java:240) в org.apache.pig.backend.hadoop20.PigJobControl.run (PigJobControl.java:121) в java.langTh.выполнить (Thread.java:748) в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher $ 1.run (MapReduceLauncher.java:270)

...