Re: Implementation of ElasticsearchSinkFunction, how to handle class level variables

2018-06-12 Thread Tzu-Li (Gordon) Tai
Hi Jayant,

Yes, you don’t have to use an anonymous class for the sink function. An actual 
separate class works just as fine.
The class fields don’t need to be marked as transient or checkpointed, since 
they should just be constants that come with instantiation of the sink 
function, or could even be static fields, for example.

Cheers,
Gordon

On 8 June 2018 at 12:55:57 PM, Jayant Ameta (wittyam...@gmail.com) wrote:

Hi,
I'm trying to integrate ElasticsearchSink in my pipeline. The example shows 
using Anonymous class which implements ElasticsearchSinkFunction. This is 
passed as a constructor argument to another anonymous class which extends 
ElasticsearchSink.

Can I create a separate class instead of using anonymous classes?
If I do so, I'll have to have index and type as class level fields. How is 
state maintenance done for class level fields? Do I need to mark the fields as 
transient, and implement CheckpointedFunction?

Thanks,
Jayant

Implementation of ElasticsearchSinkFunction, how to handle class level variables

2018-06-08 Thread Jayant Ameta
Hi,
I'm trying to integrate ElasticsearchSink in my pipeline. The example
shows
using Anonymous class which implements ElasticsearchSinkFunction. This is
passed as a constructor argument to another anonymous class which extends
ElasticsearchSink.

Can I create a separate class instead of using anonymous classes?
If I do so, I'll have to have index and type as class level fields. How is
state maintenance done for class level fields? Do I need to mark the fields
as transient, and implement CheckpointedFunction?

Thanks,
Jayant