Dataikuとは
DataikuはAI/MLワークフローをGUIで構築できるプラットフォームです。
自分で用意したPCやサーバやクラウドにインストールして使える無料版、マネージドでも使える(SaaSとして利用できる)有償版があります。
有償版ではSnowflake/BigQueryへの接続やSpark対応など様々な機能が解禁されますが、無料版でもかなりのことができます。
また、有償版は14日間の無料トライアルもあるので、サーバなんて持ってないよ!という方でもすぐにDataikuを体験することができます。
ちなみにDataikuは「ダタイクゥ」あるいは「データイクゥ」と発音するようです。初期からのユーザは「ダタイク」、最近のユーザは「データイク」と呼んでいることが多い印象。
参考:Dataikuのカンファレンス「Everyday AI」におけるCROの発音
準備するもの
- Dockerfile
- run.sh:Dockerコンテナ内でDataikuを起動させるスクリプト
- dataiku-dss-12.5.0.tar.gz:Dataiku DSSのLinux向けインストールファイル
事前準備
まずDataikuのLinux向けインストールファイルをダウンロードします。
2024年1月時点ではまだバージョン12.x.xのインストール手順がトップページに反映されていないのですが、以下のサイトから最新版をダウンロードできます。
ファイル名は例えばdataiku-dss-12.5.0.tar.gzのようなものになります。
Dockerfileと起動スクリプトを作成する
#!/bin/bash
# Trap signals and exit
trap "exit 0" SIGINT SIGTERM
# Start Dataiku service
/dataiku/bin/dss start
# Keep on running
while true
do
sleep 10 & wait $!
done
ARG BASE_IMAGE=almalinux:8.9
FROM $BASE_IMAGE
ENV DSS_VERSION 12.5.0
ENV DSS_INSTALLDIR /tmp
ENV DSS_DATADIR /dataiku
ENV DSS_PORT=10000
RUN useradd dataiku
RUN mkdir -p ${DSS_DATADIR} && chown -Rh dataiku:dataiku ${DSS_DATADIR}
COPY dataiku-dss-${DSS_VERSION}.tar.gz ${DSS_INSTALLDIR}
RUN tar -zxvf ${DSS_INSTALLDIR}/dataiku-dss-${DSS_VERSION}.tar.gz -C ${DSS_INSTALLDIR} && rm -f ${DSS_INSTALLDIR}/dataiku-dss-${DSS_VERSION}.tar.gz
RUN ${DSS_INSTALLDIR}/dataiku-dss-${DSS_VERSION}/scripts/install/install-deps.sh -yes
RUN yum install -y epel-release && yum install -y --enablerepo=powertools git nginx unzip zip glibc-langpack-en java-1.8.0-openjdk python36 freetype libgfortran libgomp && yum clean all
USER dataiku
RUN ${DSS_INSTALLDIR}/dataiku-dss-${DSS_VERSION}/installer.sh -y -d ${DSS_DATADIR} -p 10000
EXPOSE 10000
COPY run.sh /
USER root
RUN chmod +x /run.sh
USER dataiku
CMD /run.sh
起動手順
上記のDockerfileで実行しているインストールコマンドでは、Dataikuがポート10000で待ち受けするようになるので、そのポートをEXPOSEします。
また、Dataikuのインストールフォルダにボリュームを割り当てて永続化します。
docker build -t dataiku:latest .
docker run -p 10000:10000 -v dataiku:/dataiku dataiku:latest
localhost:10000で立ち上がるので、ブラウザでアクセスすればOKです!
備考
Dockerでインストールするとアップデートでちょっと困ります…
今後、やり方を確認します。
