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