Hi guys,
Janino works perfectly!

It allows to create entire classes on-the-fly and to use them.

Thank you a lot.

Cheers,
Giacomo

On Mon, Sep 21, 2015 at 7:49 PM, Giacomo Licari <giacomo.lic...@gmail.com>
wrote:

> Thanks a lot Fabian,
> I will try it.
>
> Cheers,
> Giacomo
>
> On Mon, Sep 21, 2015 at 7:35 PM, Fabian Hueske <fhue...@gmail.com> wrote:
>
>> Hi Giacomo,
>>
>> you could use Janino [1] to directly compile the code string into a class
>> and execute it. The program does not need to be shipped to the cluster if
>> all user functions are contained in the jar.
>>
>> Cheers, Fabian
>>
>> [1] http://unkrig.de/w/Janino
>> On Sep 21, 2015 7:08 PM, "Giacomo Licari" <giacomo.lic...@gmail.com>
>> wrote:
>>
>>> Hi Robert,
>>> thanks for the reply.
>>> I receive a JSON from my client interface, which contains the dataflow
>>> description.
>>> Then I parse that JSON and the parser creates a string which contains
>>> the Flink code, as the user can modify the dataflow, the description can
>>> change every time it calls "Execute Dataflow".
>>>
>>> Now I should be able to execute the generated String code, so I was
>>> first thinking about to write it to a .java file.
>>> What could you suggest to me? Is it possible to execute the string code
>>> directly from the backend.jar I have?
>>>
>>>
>>> On Mon, Sep 21, 2015 at 6:54 PM, Robert Metzger <rmetz...@apache.org>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> you have to make sure that the Flink classes are contained in your
>>>> class path.
>>>> Either add the flink-dist jar from the binary distribution to your
>>>> class path, or use maven to build the backend.jar as a fat jar.
>>>>
>>>> Why are you generating a java class from your dataflows?
>>>> Isn't it easier to just call the Flink APIs when parsing your flow
>>>> description language?
>>>>
>>>> Robert
>>>>
>>>>
>>>> On Mon, Sep 21, 2015 at 6:41 PM, Giacomo Licari <
>>>> giacomo.lic...@gmail.com> wrote:
>>>>
>>>>> Hi guys,
>>>>>
>>>>> I'm developing a dataflow client whose backend, exported as jar,
>>>>> allows users to convert dataflows to a Flink file .java with some code
>>>>> inside. The generated file naturally calls some classes I have in jar 
>>>>> file,
>>>>> like MapFunction, DataSet.
>>>>>
>>>>> My question is:
>>>>> How to compile the generated file and pack it into a jar file, so I
>>>>> can execute it with Flink?
>>>>>
>>>>> I have tried several methods like:
>>>>>
>>>>>    - javac -cp backend.jar:. GeneratedClass.java
>>>>>    - javac -cp ".:backend.jar" GeneratedClass.java
>>>>>    - javac -cp ".:./backend.jar" GeneratedClass.java
>>>>>
>>>>> with no success.
>>>>>
>>>>> I receive errors like:
>>>>> GeneratedClass.java:2: error: package
>>>>> org.apache.flink.api.common.functions does not exist 
>>>>> GeneratedClass.java:3:
>>>>> error: package org.apache.flink.api.java does not exist
>>>>>
>>>>>
>>>>> Thanks a lot,
>>>>>
>>>>> Giacomo
>>>>>
>>>>
>>>>
>>>
>

Reply via email to