Sign inSign up

casperfrx/dataiku-dss

By casperfrx

Updated about 5 years ago

Image
0

163

casperfrx/dataiku-dss repository overview

(A better?) Dataiku Data Science Studio Docker image

I could explain what Dataiku Data Science Studio (DSS) is myself but I'll let Dataiku explain it themselves:

Dataiku Is Your End-to-End AI Platform

With Dataiku, you have everything you need to build and deploy AI projects in one place, including easy-to-use data preparation and pipelines, AutoML, and advanced automation.

It's an amazing platform to do all kinds of data related projects on. Whether you're a full-blown enterprise or just a hobbyist (like me) that wants a great interface to practice their Jupyter data skills on.

It's important to note here that they offer a free edition aside from their paid enterprise solution, so you can start using it straight away.

About this Dockerfile

Dataiku actually has its own Docker image on Docker Hub so you may be rightfully wondering why I went through the effort to create one myself.

Most importantly, Dataiku is simply behind on releasing Docker images with their own latest version of the product.

Second, Dataiku is still using pretty old versions of CentOS, Java and Python. I can't really blame them for having to support the older versions however, so there you go.

Aside from that, I kept everything as close as possible to the original Dataiku image, including its run.sh file.

Key differences

Below is a short list of the key differences between the official and this image:

  • Using the latest CentOS 8 base image instead of CentOS 7

  • Using Java 11 instead of Java 1.8

  • Using Python 3 instead of Python 2 as its base version which has two varieties:

    1. Python 3.6 built-in from CentOS8 package manager

    2. Python 3.7 using Intel Distribution for Python

      Near-native performance comes through acceleration of core Python numerical packages. This is done using Intel® Performance Libraries such as Intel® oneAPI Math Kernel Library (oneMKL) and Intel® oneAPI Data Analytics Library (oneDAL).

    You can find a (somewhat dated) example of the performance difference here. An interesting improvement if you're using numerical packages a lot.

    I inspired some of the Dockerfile content on Intel's own oneapi-containers docker project but stripped out a lot of bloating packages.

    Of course, do note that it comes with its own End User License Agreements which you might want to consult as well.

Future plans

I am planning on adding optimizations on the java runtime flags concerning garbage collection and using Java 11 from GraalVM Community Edition for even more performance gain by using its improved just-in-time GraalVM Compiler.

Usage

Build the image first

docker build -t cfrx.io/dataiku-dss

Then run it. The image exposes on port 10000 by default and has a volume on /home/dataiku/dss

docker run -dt --name dataiku ~/dataiku:/home/dataiku/dss -p 10000:10000 cfrx.io/dataiku-dss

You can follow its startup by running

docker logs -f dataiku

Once it's completely initialized, you should be able to find its interface in by going to http://localhost:10000 in your browser. If you wish to expose Dataiku on the internet, put a secure front-end proxy in front of it that uses a valid TLS certificate. I'd recommend using Caddy as a reverse proxy.

Contributing

Pull requests are always welcome, even more so for efficiency, performance and security.

License

You are free to use and distribute this code as long as it conforms to the licenses that the software packages themselves are licensed as. I have no control over those licenses so you should consult them yourself, especially when using them in commercial settings.

Tag summary

Content type

Image

Digest

Size

4.7 GB

Last updated

about 5 years ago

docker pull casperfrx/dataiku-dss:dev