It is already possible to do the following:
PigContext context = new PigContext(execType); // execType is
PigServer.ExecType
PigServer pig = new PigServer(context);
pig.registerQuery(...);
...
PigContext contains, among other things, a Properties object that keep
the properties. What's missing is a way to set values in that
properties object. So if we added a setProperty() method to PigContext
I think we'd have what you suggest below.
Alan.
Benjamin Francisoud wrote:
I'm not a project lead but as a user of pig I'd like a possibility to
configure pig programmatically.
Doing something like:
PigConfiguration conf = new PigConfiguration();
conf.set("foo", "bar");
Pig pig = new Pig();
pig.setConf(conf);
pig.run();
This is just a pseudo-code example.
Replace Pig and PigConfiguration with whatever name you like ;)
--
Benjamin Francisoud
Craig Macdonald a écrit :
Hi pig-devs,
Just a quiet ping for comments from project leads on this. It seems I
have raised several issues recently that require configuration of
pig. Questions:
* Are System properties the best place for these?
* Should .pigrc evolve into a place for Pig aliases and properties,
and even scripts? (similar to .bashrc etc)
* Should new commands be added: import, include, sharedFS etc?
* Please direct me as to how JIRAs should be created.
I may be able to provide patches to some JIRAs I have created if we
have a policy for configuration-type stuff.
C
Craig Macdonald wrote:
Good morning Pig-devs,
This email notes some of the yahoo specifics remaining in Pig that
may be needed to checked before a Pig release (see 1. below). I
would hope that Pig syntax can be evolved to allow these to be
removed (see (2) below), and instead placed in users .pigrc.
From PigContext, I note that the .pigrc is in fact a place for
properties. An alternative would be for the Grunt set command to set
System properties, and then make .pigrc into a pig script, allowing
users to define aliases, register common jar files, import common
namespaces, include other pig script files.
Please direct how JIRAs should be created to track these issues -
one issue for all, with subtasks; separate tasks for the three
issues below?
Details below.
Craig
1. Yahoo specifics
src/org/apache/pig/backend/hadoop/executionengine/HExecutionEngine.java
doHod() contains yahoo specific stuff. I'm not sure Hod has
stabalised sufficiently for this to be changed
fixUpDomain() assumes unqualified hostnames are part of the
.inktomisearch.com DNS domain
src/org/apache/pig/impl/PigContext.java:125
packageImportList.add("com.yahoo.pig.yst.sds.ULT.");
Note - these is no Pig command to allow imports of package
namespaces into the packageImportList ArrayList
scripts/pig.pl
kryptontite mentions, specifics: 69, 114
2. Extensions to Pig syntax
(a) "set" command sets all system properties
(b) "include" includes and parses another pig script
(c) "import" adds a package namespace to the search path
3. Change so that ~/.pigrc into a pig script that is parsed on
startup of Grunt/PigServer?