Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PigServer脚本执行_Java_Hadoop_Apache Pig_Cloudera - Fatal编程技术网

Java PigServer脚本执行

Java PigServer脚本执行,java,hadoop,apache-pig,cloudera,Java,Hadoop,Apache Pig,Cloudera,我有一个生成pig脚本的java代码。我想知道是否有直接在java代码中执行该脚本的选项。我发现有一个选项可以使用类在java代码中嵌入pig脚本执行 问题是我使用AvroStorage存储结果,而该类包含显然使用文件存储的方法store() 有没有办法使用PigServer类在JAVA内部使用AvroStorage执行我的pig脚本 它的通用代码来自他们的文档,他们使用pigServer.store(“D”,“myoutput”);但是我需要调用AvroStorage来代替文件 public

我有一个生成pig脚本的java代码。我想知道是否有直接在java代码中执行该脚本的选项。我发现有一个选项可以使用类在java代码中嵌入pig脚本执行

问题是我使用AvroStorage存储结果,而该类包含显然使用文件存储的方法
store()

有没有办法使用PigServer类在JAVA内部使用AvroStorage执行我的pig脚本

它的通用代码来自他们的文档,他们使用pigServer.store(“D”,“myoutput”);但是我需要调用AvroStorage来代替文件

public class WordCount {
   public static void main(String[] args) {

      PigServer pigServer = new PigServer();

      try {
         pigServer.registerJar("/mylocation/tokenize.jar");
         runMyQuery(pigServer, "myinput.txt";
        } 
      catch (IOException e) {
         e.printStackTrace();
        }
   }

   public static void runMyQuery(PigServer pigServer, String inputFile) throws IOException {        
       pigServer.registerQuery("A = load '" + inputFile + "' using TextLoader();");
       pigServer.registerQuery("B = foreach A generate flatten(tokenize($0));");
       pigServer.registerQuery("C = group B by $1;");
       pigServer.registerQuery("D = foreach C generate flatten(group), COUNT(B.$0);");

       pigServer.store("D", "myoutput");
   }
}

你的密码在哪里?你的意思是什么?作为PigServer类API的一部分,我找不到任何适用于该用例的可用方法。我有一个生成pig脚本的java代码-请将该代码添加到您的问题中,以便我们知道您在说什么。OK,请现在查看。您不能像使用AvroStorage()“”那样使用
注册表查询
将数据存储到“myoutput”中吗?