Hi Stephan, thanks for the response! Is that the only possibility?there's
no java alternative at the moment?
On Jan 27, 2015 10:23 PM, "Stephan Ewen" <se...@apache.org> wrote:

> Hi Flavio!
>
> In Scala:
>
> You can do that, using the "pimp my library" pattern. Define your own data
> set (MyDataSet) that has the method "myFunction()" and define an implicit
> conversion from DataSet to MyData set. See here for more details:
> http://alvinalexander.com/scala/scala-2.10-implicit-class-example
>
>
> In Java
>
> 1) You need to define a class MyUtils, there
>
> public class MyUtils {
>     public static DataSet[MyType] myFunction(DataSet[String] input) {
>         return input.map(...).reduce(...);
>     }
> }
>
> 2) You can define a custom unary operation:
>
> It allows you to write code like  "DataSet<MyType> result =
> data.runOperation(new MyFunction());
>
> public class MyFunction implements CustomUnaryOperation<String, MyType> {
>     private DataSet<String> input;
>
>     public void setInput(DataSet<String> input) {
>         this.input = input
>     }
>
>     public DataSet<MyType> createResult() {
>         return input.map(...).reduce(...);
>     }
> }
>
>
> https://github.com/apache/flink/blob/master/flink-java/src/main/java/org/apache/flink/api/java/operators/CustomUnaryOperation.java
>
> Greetings,
> Stephan
>
>
>
>
>
>
>
>
>
> On Tue, Jan 27, 2015 at 5:37 AM, Flavio Pompermaier <pomperma...@okkam.it>
> wrote:
>
>> Hi guys,
>>
>> I'd like to know whether it is possible or not save a chain of operators
>> as a custom function.
>> For example, If I have a DataSet transformation composed by a map
>> followed by a reduce (but this is a simple case, I could have a more
>> complex scenario), is it possible to save it as a custom function (eg.
>> "myFunction" => map.reduce) so that I can call mydataset.myFunction()
>> instead of myDataset.map().reduce()?
>>
>> Best,
>> Flavio
>>
>
>

Reply via email to