Del pasaje proporcionado, extrae los lenguajes de programación que admite Flink. Sepáralos con una coma.
Flink proporciona un motor de streaming de alto rendimiento y baja latencia[9], así como soporte para el procesamiento de eventos y la gestión de estados. Las aplicaciones Flink son tolerantes a fallos en caso de fallo de la máquina y admiten la semántica "exactamente una vez"[10]. Los programas pueden escribirse en Java, Scala,[11] Python,[12] y SQL[13] y se compilan y optimizan automáticamente[14] en programas de flujo de datos que se ejecutan en un entorno de clúster o nube[15].
Java, Scala, Python, SQL
From the passage provided, extract the programming languages supported by Flink. Separate them with a comma.
Flink provides a high-throughput, low-latency streaming engine[9] as well as support for event-time processing and state management. Flink applications are fault-tolerant in the event of machine failure and support exactly-once semantics.[10] Programs can be written in Java, Scala,[11] Python,[12] and SQL[13] and are automatically compiled and optimized[14] into dataflow programs that are executed in a cluster or cloud environment.[15]
Java, Scala, Python, SQL