Hi Boris,

Example usage of flink sources and sink is available in the
documentation[1].

[1]
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/io-module/flink-connectors.html

On Wed, May 27, 2020 at 1:08 PM Boris Lublinsky <
boris.lublin...@lightbend.com> wrote:

> Thats not exactly the usage question that I am asking
> When I am writing IO module I have to write Ingress and Egress spec.
> You have an example for Kafka, which looks like
>
> def getIngressSpec: IngressSpec[GreetRequest] =
>   KafkaIngressBuilder.forIdentifier(GREETING_INGRESS_ID)
>     .withKafkaAddress(kafkaAddress)
>     .withTopic("names")
>     .withDeserializer(classOf[GreetKafkaDeserializer])
>     .withProperty(ConsumerConfig.GROUP_ID_CONFIG, "greetings")
>     .build
>
> def getEgressSpec: EgressSpec[GreetResponse] =
>   KafkaEgressBuilder.forIdentifier(GREETING_EGRESS_ID)
>     .withKafkaAddress(kafkaAddress)
>     .withSerializer(classOf[GreetKafkaSerializer])
>     .build
>
> How is it going to look if I am using SourceSinkModule?
> Do I just specify stream names? Something else?
>
>
>
>
>
> On May 27, 2020, at 11:29 AM, Tzu-Li (Gordon) Tai <tzuli...@apache.org>
> wrote:
>
>
>
> On Thu, May 28, 2020, 12:19 AM Boris Lublinsky <
> boris.lublin...@lightbend.com> wrote:
>
>> I think I figured this out.
>> The project seems to be missing
>>
>> resources
>> <https://github.com/ververica/flink-statefun-workshop/tree/master/statefun-workshop-functions/src/main/resources>
>> /META-INF
>> <https://github.com/ververica/flink-statefun-workshop/tree/master/statefun-workshop-functions/src/main/resources/META-INF>
>> /services directory, which should contain services
>>
>
> Yes, the functions / ingresses / regresses etc. are not discoverable if
> the service file isnt present in the classpath.
>
> For the examples, if you are running it straight from the repo, should all
> have that service file defined and therefore readily runnable.
>
> If you are creating your own application project, you'll have to add that
> yourself.
>
>
>> Another question:
>> I see org.apache.flink.statefun.flink.io.datastream.SourceSinkModule
>>
>> Class, which I think allows to use existing data streams as
>> ingress/egress.
>>
>> Are there any examples of its usage
>>
>
> On the Harness class, there is a withFlinkSourceFunction method in which
> you can directly add a Flink source function as the ingress.
>
> If you want to use that directly in a normal application (not just
> execution in IDE with the Harness), you can define your ingesses/egresses
> by binding SourceFunctionSpec / SinkFunctionSpec.
> Please see how they are being used in the Harness class for examples.
>
> Gordon
>
>
>>
>> On May 27, 2020, at 11:10 AM, Tzu-Li (Gordon) Tai <tzuli...@apache.org>
>> wrote:
>>
>> Hi,
>>
>> The example is working fine on my side (also using IntelliJ).
>> This could most likely be a problem with your project setup in the IDE,
>> where the classpath isn't setup correctly.
>>
>> What do you see when you right click on the
>> statefun-flink-harness-example directory (in the IDE) --> Open Module
>> Settings, and then under the "Sources" / "Dependencies" tab?
>> Usually this should all be automatically setup correctly when importing
>> the project.
>>
>> Gordon
>>
>> On Wed, May 27, 2020 at 11:46 PM Boris Lublinsky <
>> boris.lublin...@lightbend.com> wrote:
>>
>>> The project
>>> https://github.com/apache/flink-statefun/tree/release-2.0/statefun-examples/statefun-flink-harness-example
>>> Does not work in Intellij.
>>>
>>> The problem is that when running in Intellij, method public static Modules
>>> loadFromClassPath() {
>>> Does not pick up classes, which are local in Intellij
>>>
>>> Any work arounds?
>>>
>>>
>>>
>>>
>>> On May 22, 2020, at 12:03 AM, Tzu-Li (Gordon) Tai <tzuli...@apache.org>
>>> wrote:
>>>
>>> Hi,
>>>
>>> Sorry, I need to correct my comment on using the Kafka ingress / egress
>>> with the Harness.
>>>
>>> That is actually doable, by adding an extra dependency to
>>> `statefun-flink-distribution` in your Harness program.
>>> That pulls in all the other required dependencies required by the Kafka
>>> ingress / egress, such as the source / sink providers and Flink Kafka
>>> connectors.
>>>
>>> Cheers,
>>> Gordon
>>>
>>> On Fri, May 22, 2020 at 12:04 PM Tzu-Li (Gordon) Tai <
>>> tzuli...@apache.org> wrote:
>>>
>>>> Are you getting an exception from running the Harness?
>>>> The Harness should already have the required configurations, such as
>>>> the parent first classloading config.
>>>>
>>>> Otherwise, if you would like to add your own configuration, use the
>>>> `withConfiguration` method on the `Harness` class.
>>>>
>>>> On Fri, May 22, 2020 at 7:19 AM Boris Lublinsky <
>>>> boris.lublin...@lightbend.com> wrote:
>>>>
>>>>> Also, where do I put flint-conf.yaml in Idea to add additional
>>>>> required config parameter:
>>>>>
>>>>> classloader.parent-first-patterns.additional: 
>>>>> org.apache.flink.statefun;org.apache.kafka;com.google.protobuf
>>>>>
>>>>>
>>>>>
>>>>> On May 21, 2020, at 12:22 PM, Boris Lublinsky <
>>>>> boris.lublin...@lightbend.com> wrote:
>>>>>
>>>>> Hi,
>>>>> I am trying to run
>>>>> https://github.com/apache/flink-statefun/tree/master/statefun-examples/statefun-greeter-example
>>>>>  locally
>>>>> using
>>>>> https://github.com/apache/flink-statefun/tree/master/statefun-examples/statefun-flink-harness-example
>>>>>
>>>>> And have several questions.
>>>>> 1. It seems fairly straightforward to use it with in memory message
>>>>> generators, but I can’t figure out how to add Kafka ingress/Egress so that
>>>>> I can use it with Kafk
>>>>> 2. GreetingModule already creates StatefulFunctionUniverse  and so
>>>>> does Harness. Is there a way to short circuit it and have Harness get
>>>>> StatefulFunctionUniverse directly
>>>>> 3. Is there an example on how to write Flink main for stageful
>>>>> function?
>>>>> 4. Is there an example anywhere on how to run such examples in the IDE
>>>>> with Kafka?
>>>>> 5 There is a great stateful functions example
>>>>> https://github.com/ververica/flink-statefun-workshop, but its readme
>>>>> does not really describe implementation and neither does this article,
>>>>> referencing it
>>>>> https://dev.to/morsapaes/flink-stateful-functions-where-to-start-2j39.
>>>>> Is there anything that describes this implementation?
>>>>>
>>>>>
>>>>>
>>>
>>
>

Reply via email to