Giter Site home page Giter Site logo

ververica / jupyter-vvp Goto Github PK

View Code? Open in Web Editor NEW
39.0 39.0 8.0 319 KB

Jupyter Integration for Flink SQL via Ververica Platform

Home Page: https://docs.ververica.com

License: Apache License 2.0

Python 84.30% Jupyter Notebook 15.19% Dockerfile 0.32% Shell 0.19%
apache-flink flink jupyter

jupyter-vvp's People

Contributors

autophagy avatar duresmeois avatar knaufk avatar michaelpisula avatar patricklucas avatar pisulam avatar qinjunjerry avatar uce avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jupyter-vvp's Issues

Support Flink SQL DDL

I can execute a Flink SQL DDL statement in a Jupyter Notebook cell.

  • Supported

    • SHOW TABLES
    • SHOW FUNCTION
    • CREATE/ALTER/DROP FUNCTION
    • CREATE/ALTER DROP TABLE
    • DESCRIBE
  • Not supported (example)

    • CREATE TEMPORARY TABLE|VIEW
  • On success, the result is displayed in Jupyter Notebook.

  • On error, the error message is displayed in Jupyter Notebook.

Something like:

%%flink-sql

SHOW TABLES

Table Name
Test1
Test2

Local Development Environment with Snapshot Version of VVP and SQL

Install Extension and Connect to VVP

I can install the VVP SQL Jupyter “extension” and connect to Ververica Platform by providing its host:port and a Namespace.

  • unauthenticated access

Something like:

%%connect-vvp --endpoint localhost:8080 --namespace default

Succesfully connect to Ververica Platform under localhsot:8080.

DML with Deployment Configuration

In can execute a Flink SQL DML Statement in a Jupyter Notebook. I can configure at least the following fields manually:

  • name (metadata.name)
  • non-production mode (metadata.annotations.license/testing)
  • parallelism (spec.template.spec.parallelism)
  • Upgrade Strategy (spec.restoreStrategy)
  • Restart Strategy (spec.upradeStrategy)
  • flink configuration (spec.template.spec.flinkConfiguration)

These two fields never have a default in the backend:

  • name (metadata.name)
  • non-production mode (metadata.annotations.license/testing)

Hence, a default needs to be supplied by the frontend. All other fields might have a default in the backend.

Some Ideas:

  • Show the YAML representation of the Deployment before submission, so that it can be adapted. Very flexible, but low-level. Only requires one confirmation, if the defaults shall be used.

  • Show a form with the minimal set of fields. Don't allow any configuration beyond this. Will we end up adding more and more fields on-demand?

  • Show a form with the minimal set of fields, but also the full YAML (like the web user interface). Feels like an overkill.

  • Customize the Deployment Spec via comments or similar in-inline in the cell.

Support Flink SQL DQL

Hi, having jupiterlabs as a primary development for FlinkSQL should help with faster development.

Right now, this extension only serves for metadata investigation and table creation.

Support Flink SQL DML with Default Configuration

In can execute a Flink SQL DML Statement in a Jupyter Notebook.
assuming that no additional Deployment Configuration needs to be passed to Ververica Platform (all defaults apply)

  • A link to the Deployment is provided after successful submission.
    • Can we show the live status of the Job in the Notebook?

Something like:

%%flink-sql

INSERT INTO Test1 SELECT * FROM Test2

Support Python UDF

Hi,
I don't know if this is possible. But I really want to use Python UDF from notebook with this extension.

Authentication via OpenID Connect

As Flink SQL Jupyter user I would like to be able to connect to a Ververica Platform instance that uses OpenIDConnect for authentication.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.