tree: 7e1e9f49fe26e68b3434f82b362cea57a9b7625a [path history] [tgz]
  1. flink-scala-2.12/
  2. flink-shims/
  3. flink1.15-shims/
  4. flink1.16-shims/
  5. flink1.17-shims/
  6. pom.xml
  7. README.md
flink/README.md

Flink Interpreter

This is the doc for Zeppelin developers who want to work on flink interpreter.

Development Guide

Project Structure

Flink interpreter is more complex than other interpreter (such as jdbc, shell). Currently, it has the following modules clustered into two groups:

  • flink-shims

  • flink1.15-shims

  • flink1.16-shims

  • flink1.17-shims

  • flink-scala-2.12

The modules in the first group are to adapt different flink versions because there're some api changes between different versions of flink. flink-shims is parent module for other shims modules. At runtime Flink interpreter will load the FlinkShims based on the current flink versions (See FlinkShims#loadShims).

The modules in the second group are to adapt different scala versions. But since flink 1.15, it only supports Scala 2.12, thus there is only one module flink-scala-2.12

Work in IDE

How to run unit test in IDE

Take FlinkInterpreterTest as an example, you need to specify environment variables FLINK_HOME, FLINK_CONF_DIR, ZEPPELIN_HOME. See maven-surefire-plugin in pom.xml for more details