Here is the question:

Assume I have a pipe and I want to rename all the fields in the pipe 
programmatically, meaning that I don't want to hard code the field names in 
my code. Any idea how I can do this?

As a concrete example, assume I have a pipe with two fields: "name" and 
"age" and I want to rename these fields to "employee_name" and 
"employee_age". Obviously the natural solution is to write a piece of code 
as below:

pipe.rename(('name, 'age) -> ('employee_name, 'employee_age))

or 

pipe.rename(new Fields("name", "age") ->  new Fields("employee_name", 
"employee_age"))

However, what I need is to be able to iterate through all fields in the 
pipe without knowing their names.

There are a couple of methods (resolveIncomingOperationArgumentFields and 
resolveIncomingOperationPassThroughFields) callable on a pipe which look 
promising but the issue is that they both take and input argument of type 
cascading.flow.planner.Scope which I don't know where can I get it from in 
a scalding job.

Another solution that comes to my mind is using "each" method on the pipe 
and implementing a cascading function and pass it to the each statement. 
But I was now able to find any sample code for that either.

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Scalding Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to