Search code examples
apache-flinkflink-streaming

Which language is better for process streaming using Flink?


I am a little confused. Can someone help or guide me that which language (Python, JAVA, C#) is better for process streaming using Flink. Which language has more support or whose apis are more mature. Anyone please help.


Solution

  • The Java API for Flink is the most mature and best supported, with Scala coming in a close second. Other JVM languages (e.g. Kotlin) can be used, but have no explicit support.

    Over the past several releases Python support has been under active development (see PyFlink), but it still lags behind the JVM languages, except in the case of the Stateful Functions API, where it has first class support for writing remote functions. Other non-JVM languages can also be used for implementing remote stateful functions: https://ci.apache.org/projects/flink/flink-statefun-docs-stable/sdk/external.html.

    SQL is also very well supported by Flink, in its niche. C# is not supported.