Giter Site home page Giter Site logo

dataroaster's People

Contributors

cloudcheflabs avatar mykidong 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

Watchers

 avatar  avatar

dataroaster's Issues

Add Trino Operator

Trino operator will be used to create / update / delete trino clusters.
In addition to that, It should also monitor trino clusters and sometimes replace the exhausted trino workers with the new ones if detected.
We can also consider support of graceful shutdown when there are existing queries being executed which have to be executed before trino cluster shutdown.

Add Airflow Workflow

Airflow is one of the popular workflows for data lakehouse.
Airflow should support the following list:

  • dynamical dag workflow deployment using git-sync sidecar container.
  • support remote logging to s3.
  • KEDA based worker autoscaling.

Update prometheus jobs when trino configurations updated.

Everytime trino configuration updated, trino coordinator and workers in the dedicated trino cluster will be rollout restarted.
At that time, all the endpoints of trino coordinator and workers will get new addresses for their pods, so these changed endpoints addresses of trino coordinator and workers will be updated as prometheus jobs to prometheus configmap.

Add specific apis for data platform components.

It is needed that specific apis for data platform components should be created to create these components automatically.
for instance,

  • /v1/spark_thrift_server for spark thrift server
  • /v1/trino for trino
  • /v1/hive_metastore for hive metastore
  • etc.

Add trino controller to control all the trino ecosystems.

Trino controller needs to control all the trino ecosystems.

  • create trino operator
  • create helm operator.
  • create nginx ingress controller.
  • create cert manager.
  • create trino gateway.
  • create trino cluster.
  • create prometheus.
  • create grafana.
  • scale out trino cluster.
  • register trino cluster to trino gateway.
  • deregister trino cluster from trino gateway.
  • detect exhausted trino cluster.

Add DataRoaster Operator

DataRoaster Operator is used to controll all the data platform components running on kubernetes.
It consists of mysql server, helm operator and dataroaster server which provides rest api to the client.

Add helm operator

Most of components provided by dataroaster is based on helm chart. With helm operator, these components can be installed on kubernetes easily.

Bug: Watcher close error in trino operator.

if there is no action notified for a long time, watcher will be closed with the message like this.

com.cloudcheflabs.dataroaster.operators.trino.handler.TrinoClusterWatcher: close watcher

Add Trino Gateway to proxy trino clusters.

Trino can be used for the cases of ETL, interactive(adhoc) and scheduled, etc.
We can create trino clusters for these usages individually. In order to load-balance trino clusters, and to support trino coordinator HA, trino gateway should be used. We can extend this concept to trino ecosystem.

Trino ecosystem consists of trino gateway, authenticator, admin and trino clusters, etc.
We can think of the following scenario which can happen in trino ecosystem.

  • clients(applications, redash, tableau, cli, etc) will request queries to trino gateway.
  • trino gateway will filter parameters of request to authenticate / authorize user with authenticator.
  • the queries requested will be routed dynamically to the downstream trino cluster for the individual usages of ETL, interactive, scheduled.
  • admin will create / update / delete trino clusters on kubernetes using trino operator.
  • admin will register / deregister / activate / deactivate trino cluster to trino gateway.

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.