We are working on the Pig Logical Optimizer, and running into some difficulty navigating the plan.
If we run explain on a query with a CoGroup, we get something like: Cogroup | | | |-- Project  | |------ ForEach | <etc> What we want to do is determine that this particular Cogroup operates on a projection of field 0. If we create a new LogicalTransformer that is applied to Cogroup operators, and call mPlan.getPredecessors(ourCogroupOperator) , we only get the ForEach. Calling getSuccessors results in a null being returned (Cogroup is indeed the root). How do we find the Project operator above? What is its relationship, plan-wise, with the Cogroup operator? Thanks a lot, Dmitriy Ryaboy, Ashutosh Chauhan, Tejal Desai