6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Visualization of ManticoreSearch using Apache Superset

Last updated at Posted at 2023-08-20

最近ManticoreSearchを利用したDashboard関連が動きを見せていまして
その一つにApacheSuperSetもあります。

今回はApacheSuperSetとManticoreSearchの連携を記事にました。

ただ、公式サイト(Docker)に記載のある方法では構成できずだったため、仮想OS上にUbuntu+ApacheSuperSetインストールしています。※今回も割と雑な記事ですみません。。。。

前提

OS : Ubuntu 20.04.03 LTS
Kernel: 5.4.0-155
pipenvを利用

1. パッケージインストール

sudo apt-get update
sudo apt-get -y install mariadb-server mariadb-client libmariadb-dev
sudo mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

2. データベース設定

ApacheSupersetで利用するDB、ユーザを定義していきます。

mysql -uroot -proot -e "CREATE DATABASE superset DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -proot -e "CREATE USER superset@localhost IDENTIFIED BY 'superset';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON superset.* TO 'superset'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

3. pipenv構成

apt-get -y install python3-pip python3-distutils python3-dev python3-testresources
pip3 install --upgrade setuptools
pip3 install pipenv
echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc
echo "export PYTHONPATH=/root/superset" >> ~/.bashrc
source ~/.bashrc

4. supersetインストール

apt-get -y install build-essential libssl-dev libffi-dev libsasl2-dev libldap2-dev

mkdir -p ~/superset
cd ~/superset
pipenv --python 3
pipenv install apache-superset
pipenv install PyMySQL

5. Superset構成に必要なファイルの作成

cat << EOF > superset_config.py
 # Superset specific config
ROW_LIMIT = 5000

BABEL_DEFAULT_LOCALE='ja'

SUPERSET_WEBSERVER_PORT = 8088
# Flask App Builder configuration
# Your App secret key
#SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
SECRET_KEY = '331d35a802729b210bc00e3af77a29b029416fbc685420ac' 

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
#SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://superset:superset@localhost:3306/superset'

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
EOF

6. Superset構築

pipenv shell
pip3 install sqlparse==0.4.3
pip3 install marshmallow_enum
export FLASK_APP=superset
superset db upgrade
superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
superset init
superset run -h 0.0.0.0 -p 8088 --with-threads --reload

7. ログイン

admin/adminでログインします。
image.png

ダッシュボードが表示されます。
image.png

設定から「Database Connections」をクリックします。
image.png

データベースボタンをクリックします。
image.png

MySQLを選択します。
image.png

下記のように設定します、CONNECTを押します。(IPとPortはManticoreSearchのIPを入れます)
image.png

あとはダッシュボードを構成してあげると、下記のようにデータを表示可能です。
image.png

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?