For shared Hadoop environment, where there are large number of customers who submit PIG jobs for execution, it becomes very cumbersome to handle all support issue (ex providing access to CLI machine to every user, limiting user for submission etc).
There is need to provide REST based interface for submitting PIG job/view PIG job status/view PIG request output, so that there is single entry point to cluster. With this, users are abstracted of Hadoop configuration and need to get access on machine. Also given it is hosted service, it is possible to provide rate limiting, QoS etc to user.
We have designed such PIG self-service which provide REST APIs for all operations and this webapp runs under web container. In order to run multiple requests in same JVM, we need to create classloader per request thread.