I'm trying to run Pig from within another Java program using org.apache.pig.PigServer. However, when I instantiate it with:

new PigServer("local");

I get the following stack trace:

java.lang.RuntimeException: Failed to create DataStorage
at org .apache .pig.backend.hadoop.datastorage.HDataStorage.init(HDataStorage.java:74) at org .apache .pig.backend.hadoop.datastorage.HDataStorage.<init>(HDataStorage.java: 52)
        at org.apache.pig.impl.PigContext.connect(PigContext.java:164)
        at org.apache.pig.PigServer.<init>(PigServer.java:141)
        at org.apache.pig.PigServer.<init>(PigServer.java:133)
        at org.apache.pig.PigServer.<init>(PigServer.java:129)
        at com.dropfire.ignite$execute_pig_script__3135.invoke(Unknown Source)
        at com.dropfire.ignite$eval__3139.invoke(Unknown Source)
        at clojure.lang.Compiler.eval(Compiler.java:4175)
        ... 9 more
Caused by: java.io.IOException: No FileSystem for scheme: file
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java: 1336)
        at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:56)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1351)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:213)
at org .apache .pig.backend.hadoop.datastorage.HDataStorage.init(HDataStorage.java:69)
        ... 17 more

I'm calling it in local mode, so it shouldn't be trying to connect to Hadoop data storage, right? Is there a better way to execute a Pig script (stored in a Java String)?

thanks,
Greg

Reply via email to