[
  {
    "group": "flink",
    "name": "flink",
    "className": "org.apache.zeppelin.flink.FlinkInterpreter",
    "defaultInterpreter": true,
    "properties": {
      "FLINK_HOME": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Location of flink distribution",
        "type": "string"
      },
      "HADOOP_CONF_DIR": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Location of hadoop conf (core-site.xml, hdfs-site.xml and etc.)",
        "type": "string"
      },
      "HIVE_CONF_DIR": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Location of hive conf (hive-site.xml)",
        "type": "string"
      },
      "flink.execution.mode": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "local",
        "description": "Execution mode, it could be local|remote|yarn",
        "type": "string"
      },
      "flink.execution.remote.host": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Host name of running JobManager. Only used for remote mode",
        "type": "string"
      },
      "flink.execution.remote.port": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Port of running JobManager. Only used for remote mode",
        "type": "number"
      },
      "jobmanager.memory.process.size": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "1024m",
        "description": "Memory for JobManager, e.g. 1024m",
        "type": "text"
      },
      "taskmanager.memory.process.size": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "1024m",
        "description": "Memory for TaskManager, e.g. 1024m",
        "type": "text"
      },
      "taskmanager.numberOfTaskSlots": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "1",
        "description": "Number of slot per TaskManager",
        "type": "number"
      },
      "local.number-taskmanager": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "4",
        "description": "Number of TaskManager in local mode",
        "type": "number"
      },
      "yarn.application.name": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "Zeppelin Flink Session",
        "description": "Yarn app name",
        "type": "string"
      },
      "yarn.application.queue": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "default",
        "description": "Yarn queue name",
        "type": "string"
      },
      "zeppelin.flink.uiWebUrl": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "User specified Flink JobManager url, it could be used in remote mode where Flink cluster is already started, or could be used as url template, e.g. https://knox-server:8443/gateway/cluster-topo/yarn/proxy/{{applicationId}}/ where {{applicationId}} would be replaced with yarn app id",
        "type": "string"
      },
      "zeppelin.flink.run.asLoginUser": {
        "envName": null,
        "propertyName": null,
        "defaultValue": true,
        "description": "Whether run flink job as the zeppelin login user, it is only applied when running flink job in hadoop yarn cluster and shiro is enabled",
        "type": "checkbox"
      },
      "flink.udf.jars": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Flink udf jars (comma separated), Zeppelin will register udfs in this jar for user automatically, these udf jars could be either local files or hdfs files if you have hadoop installed, the udf name is the class name",
        "type": "string"
      },
      "flink.udf.jars.packages": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Packages (comma separated) that would be searched for the udf defined in `flink.udf.jars`",
        "type": "string"
      },
      "flink.execution.jars": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Additional user jars (comma separated), these jars could be either local files or hdfs files if you have hadoop installed",
        "type": "string"
      },
      "flink.execution.packages": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "",
        "description": "Additional user packages (comma separated), e.g. flink connector packages",
        "type": "string"
      },
      "zeppelin.flink.scala.color": {
        "envName": null,
        "propertyName": null,
        "defaultValue": true,
        "description": "Whether display scala shell output in colorful format",
        "type": "checkbox"
      },
      "zeppelin.flink.scala.shell.tmp_dir": {
        "envName": "zeppelin.flink.scala.shell.tmp_dir",
        "propertyName": "zeppelin.flink.scala.shell.tmp_dir",
        "defaultValue": "",
        "description": "Temp folder for storing scala shell compiled jar",
        "type": "string"
      },
      "zeppelin.flink.enableHive": {
        "envName": null,
        "propertyName": null,
        "defaultValue": false,
        "description": "Whether enable hive",
        "type": "checkbox"
      },
      "zeppelin.flink.hive.version": {
        "envName": null,
        "propertyName": null,
        "defaultValue": "2.3.7",
        "description": "Hive version that you would like to connect",
        "type": "string"
      },
      "zeppelin.flink.module.enableHive": {
        "envName": null,
        "propertyName": null,
        "defaultValue": false,
        "description": "Whether enable hive module, hive udf take precedence over flink udf if hive module is enabled.",
        "type": "checkbox"
      },
      "zeppelin.flink.printREPLOutput": {
        "envName": null,
        "propertyName": "zeppelin.flink.printREPLOutput",
        "defaultValue": true,
        "description": "Print REPL output",
        "type": "checkbox"
      },
      "zeppelin.flink.maxResult": {
        "envName": "zeppelin.flink.maxResult",
        "propertyName": "zeppelin.flink.maxResult",
        "defaultValue": "1000",
        "description": "Max number of rows returned by sql interpreter.",
        "type": "number"
      },
      "zeppelin.pyflink.python": {
        "envName": "zeppelin.pyflink.python",
        "propertyName": "zeppelin.pyflink.python",
        "defaultValue": "python",
        "description": "Python executable for pyflink",
        "type": "string"
      },
      "flink.interpreter.close.shutdown_cluster": {
        "envName": "flink.interpreter.close.shutdown_cluster",
        "propertyName": "flink.interpreter.close.shutdown_cluster",
        "defaultValue": true,
        "description": "Whether shutdown flink cluster when close interpreter",
        "type": "checkbox"
      },
      "zeppelin.interpreter.close.cancel_job": {
        "envName": "zeppelin.interpreter.close.cancel_job",
        "propertyName": "zeppelin.interpreter.close.cancel_job",
        "defaultValue": true,
        "description": "Whether cancel flink job when closing interpreter",
        "type": "checkbox"
      },
      "zeppelin.flink.job.check_interval": {
        "envName": "zeppelin.flink.job.check_interval",
        "propertyName": "zeppelin.flink.job.check_interval",
        "defaultValue": "1000",
        "description": "Check interval (in milliseconds) to check flink job progress",
        "type": "number"
      }
    },
    "editor": {
      "language": "scala",
      "editOnDblClick": false,
      "completionKey": "TAB",
      "completionSupport": true
    }
  },

  {
    "group": "flink",
    "name": "bsql",
    "className": "org.apache.zeppelin.flink.FlinkBatchSqlInterpreter",
    "properties": {
      "zeppelin.flink.concurrentBatchSql.max": {
        "envName": "",
        "propertyName": "zeppelin.flink.concurrentBatchSql.max",
        "defaultValue": "10",
        "description": "Max concurrent sql of Batch Sql",
        "type": "number"
      }
    },
    "editor": {
      "language": "sql",
      "editOnDblClick": false
    }
  },

  {
    "group": "flink",
    "name": "ssql",
    "className": "org.apache.zeppelin.flink.FlinkStreamSqlInterpreter",
    "properties": {
      "zeppelin.flink.concurrentStreamSql.max": {
        "envName": "",
        "propertyName": "zeppelin.flink.concurrentStreamSql.max",
        "defaultValue": "10",
        "description": "Max concurrent sql of Stream Sql",
        "type": "number"
      }
    },
    "editor": {
      "language": "sql",
      "editOnDblClick": false
    }
  },

  {
    "group": "flink",
    "name": "pyflink",
    "className": "org.apache.zeppelin.flink.PyFlinkInterpreter",
    "properties": {

    },
    "editor": {
      "language": "python",
      "editOnDblClick": false,
      "completionKey": "TAB",
      "completionSupport": true
    }
  },

  {
    "group": "flink",
    "name": "ipyflink",
    "className": "org.apache.zeppelin.flink.IPyFlinkInterpreter",
    "properties": {

    },
    "editor": {
      "language": "python",
      "editOnDblClick": false,
      "completionKey": "TAB",
      "completionSupport": true
    }
  }
]
