Skip to content

Architecture of zeppelin-sqlflow #3

@Klay1124

Description

@Klay1124

Zeppelin is essentially a web application. It starts the interpreter as an independent JVM process, interactively executes code fragments of various languages, and returns the results to the front-end UI in the form of HTML code fragments.

Zeppelin interpreter module: in order to support multi language notebook, the interpreter interface of each language is abstracted, including display, scheduling, dependency and thirft communication protocol with Zeppelin engine.

zeppelin架构图2 jpg

There are four important files in the development of sqlflow interpreter :

  1. SQLFlowInterpreter.java
    This file is to let sqlflow inherit the interpreter interface provided by Zeppelin, so as to connect the two and realize the abstract class of Zeppelin. In this file, you can read the configuration file parameters, construct the sqlflow client, start and close the interpreter, and so on.
  2. EnvironmentSpecificSQLFlowClient.java
    Create a class of sqlflow client.
  3. MessageHandlerZeeplin.java
    Front end display control class. Display the front-end interface output results: message header, message body, picture, error information, etc.
  4. interpreter-setting.json
    Create the interpreter configuration file. Interceptor settings file, which parameters the foreground needs, need to be written in the configuration file, in order to transfer to the background.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions