Hi <#C03G7LJTS2G|>, I know that Pyflink uses Java ...
# troubleshooting
s
Hi #C03G7LJTS2G, I know that Pyflink uses Java APIs under the hood so does it mean that it uses JVM for each process? or does it uses PVM? I didn't find anything about this therefore wanted to clarify how it works internally. Can somebody enlighten me on this? Any links would also help. TIA
d
https://cwiki.apache.org/confluence/x/D5TkCw explains what's going on (that's FLIP-206)
πŸ™‚ 1
d
@Siddhesh Kalgaonkar β€’ For the API part, it wraps the Java API, you can refer to [1] for more details. β€’ For the Python UDF part, currently there are two execution modes: process mode (where it launches a PVM to execute user-defined Python functions [2]) and thread mode (where it executes the Python user-defined functions in JVM via JNI [3]). [1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-38%3A+Python+Table+API [2] https://cwiki.apache.org/confluence/display/FLINK/FLIP-58%3A+Flink+Python+User-Defined+Stateless+Function+for+Table [3] https://cwiki.apache.org/confluence/display/FLINK/FLIP-206%3A+Support+PyFlink+Runtime+Execution+in+Thread+Mode
πŸ‘ 2
s
Sure @Dian Fu I will check these links. Thanks a lot @David Anderson and @Dian Fu