2021年11月30日火曜日

DockerでNextcloud22とMariaDBのコンテナーを構築する

NextcloudはDropboxのようなファイルを共有できるサーバーアプリケーションです。

○Nextcloudの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Nextcloud22とMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  nextcloud:
    image: nextcloud:22-apache
    container_name: nextcloud
    ports:
      - 8080:80
    volumes:
      - nextcloud-data:/var/www/html
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: nextcloud
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: nextcloud
    restart: always
volumes:
  nextcloud-data:
    driver: local
  db-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.初期設定
ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
初期設定画面で以下の項目を入力します
データベースのユーザ名: nextcloud
データベースのパスワード: nextcloud
データベース名: nextcloud
データベースのホスト名: db:3306

Rocky Linux 8にApache SupersetとMariaDBをインストールする

Apache SupersetはPython製のBIツールです。

〇Apache Supersetの画面

インストール方法

1. firewallでhttpの8088番ポートを開けます
sudo firewall-cmd --add-port=8088/tcp --permanent

sudo firewall-cmd --reload

2. SELinuxの無効化
sudo setenforce 0

sudo getenforce

sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. MariaDBをインストール
sudo dnf -y install mariadb mariadb-server

sudo systemctl enable mariadb.service

sudo systemctl start mariadb.service

sudo mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

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;"
※ユーザー名・パスワードは適宜変更してください

4.pipenvのインストール
sudo dnf -y install python3 python3-devel python3-pip

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

echo "export PYTHONPATH=/home/rocky/superset" >> ~/.bashrc
※この例ではrockyユーザのホームディレクトリ下のsupersetディレクトリにsuperset_config.pyを配置することを想定しています。適宜パスを変更してください。

source ~/.bashrc

5.Apache Supersetのインストール
sudo dnf -y install gcc gcc-c++ libffi-devel python3-wheel openssl-devel cyrus-sasl-devel openldap-devel

mkdir -p ~/superset

cd ~/superset

pipenv --python 3

pipenv install apache-superset

pipenv install PyMySQL

pipenv install dataclasses

SECRET_KEY=`echo -e "import os; print(os.urandom(24).hex())" | python3`

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 = '#####'

# 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
※データベースのパスワードなど、適宜変更してください。

sed -i "s/#####/$SECRET_KEY/" superset_config.py

pipenv shell

superset db upgrade

superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
※管理者のユーザ名やパスワードなど適宜変更してください。

superset load_examples

superset init

superset run -h 0.0.0.0 -p 8088 --with-threads --reload
※動作の確認。Ctrl+Cで止めます。

6. サービス化
cat << EOF | sudo tee /etc/systemd/system/superset.service
[Unit]
Description=superset
[Service]
Type=simple
Environment=PYTHONPATH=/home/rocky/superset
ExecStart=/home/rocky/superset/.venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload
User=rocky
Group=rocky
WorkingDirectory=/home/rocky/superset
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※この例ではrockyユーザでサービスを実行し、supersetをインストールした仮想環境は/home/rocky/supersetにあることを想定しています。適宜変更してください。

sudo systemctl enable superset.service

sudo systemctl start superset.service

ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月29日月曜日

DockerでNextcloud22とPostgreSQL14のコンテナーを構築する

NextcloudはDropboxのようなファイルを共有できるサーバーアプリケーションです。

○Nextcloudの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Nextcloud22とPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  nextcloud:
    image: nextcloud:22-apache
    container_name: nextcloud
    ports:
      - 8080:80
    volumes:
      - nextcloud-data:/var/www/html
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: nextcloud
      POSTGRES_USER: nextcloud
      POSTGRES_PASSWORD: nextcloud
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  nextcloud-data:
    driver: local
  db-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.初期設定
ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
初期設定画面で以下の項目を入力します
データベースのユーザ名: nextcloud
データベースのパスワード: nextcloud
データベース名: nextcloud
データベースのホスト名: db:5432

AlmaLinux 8にApache SupersetとMariaDBをインストールする

Apache SupersetはPython製のBIツールです。

〇Apache Supersetの画面

インストール方法

1. firewallでhttpの8088番ポートを開けます
sudo firewall-cmd --add-port=8088/tcp --permanent

sudo firewall-cmd --reload

2. SELinuxの無効化
sudo setenforce 0

sudo getenforce

sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. MariaDBをインストール
sudo dnf -y install mariadb mariadb-server

sudo systemctl enable mariadb.service

sudo systemctl start mariadb.service

sudo mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

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;"
※ユーザー名・パスワードは適宜変更してください

4.pipenvのインストール
sudo dnf -y install python3 python3-devel python3-pip

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

echo "export PYTHONPATH=/home/alma/superset" >> ~/.bashrc
※この例ではalmaユーザのホームディレクトリ下のsupersetディレクトリにsuperset_config.pyを配置することを想定しています。適宜パスを変更してください。

source ~/.bashrc

5.Apache Supersetのインストール
sudo dnf -y install gcc gcc-c++ libffi-devel python3-wheel openssl-devel cyrus-sasl-devel openldap-devel

mkdir -p ~/superset

cd ~/superset

pipenv --python 3

pipenv install apache-superset

pipenv install PyMySQL

pipenv install dataclasses

SECRET_KEY=`echo -e "import os; print(os.urandom(24).hex())" | python3`

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 = '#####'

# 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
※データベースのパスワードなど、適宜変更してください。

sed -i "s/#####/$SECRET_KEY/" superset_config.py

pipenv shell

superset db upgrade

superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
※管理者のユーザ名やパスワードなど適宜変更してください。

superset load_examples

superset init

superset run -h 0.0.0.0 -p 8088 --with-threads --reload
※動作の確認。Ctrl+Cで止めます。

6. サービス化
cat << EOF | sudo tee /etc/systemd/system/superset.service
[Unit]
Description=superset
[Service]
Type=simple
Environment=PYTHONPATH=/home/alma/superset
ExecStart=/home/alma/superset/.venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload
User=alma
Group=alma
WorkingDirectory=/home/alma/superset
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※この例ではalmaユーザでサービスを実行し、supersetをインストールした仮想環境は/home/alma/supersetにあることを想定しています。適宜変更してください。

sudo systemctl enable superset.service

sudo systemctl start superset.service

ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月28日日曜日

DockerでMetabase、MariaDBをインストールしたコンテナを構築する

Metabaseはオープンソースのデータ解析・可視化ツールです。

○Metabaseの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.Metabase、MariaDBをインストールしたコンテナを構築するために、以下のdocker-compose.ymlを保存します。。 docker-compose.yml
version: "3.9"
services:
  metabase:
    image: metabase/metabase
    container_name: "metabase"
    volumes:
      - "metabase-data:/metabase-data"
    environment:
      MB_DB_FILE: /metabase-data/metabase.db
      MB_DB_TYPE: mysql
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 3306
      MB_DB_USER: metabase
      MB_DB_PASS: metabase
      MB_DB_HOST: db
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: metabase
      MYSQL_DATABASE: metabase
      MYSQL_USER: metabase
      MYSQL_PASSWORD: metabase
volumes:
  db-data:
    driver: local
  metabase-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.ブラウザからブラウザからhttp://<ホスト名またはホストのIP>:3000/にアクセスして、初期設定を以下のように入力します
言語、ユーザアカウント情報を入力して、データベース接続では、以下の様に入力します。
Database type: mysql
Host: db
Port: 3306
Database name: metabase
Database username: metabase
Database password: metabase
これ以降はお好みで選択します。

Debian 11(Bullseye)にApache SupersetとMariaDBをインストールする

Apache SupersetはPython製のBIツールです。

〇Apache Supersetの画面(Debian 11)

インストール方法

1. 以下のコマンドを実行してMariaDBをインストールします。
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;"
※パスワードは適宜変更してください。

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;"

2.pipenvのインストール
sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

echo "export PYTHONPATH=/home/debian/superset" >> ~/.bashrc
※この例ではdebianユーザのホームディレクトリ下のsupersetディレクトリにsuperset_config.pyを配置することを想定しています。適宜パスを変更してください。

source ~/.bashrc

3.Apache Supersetのインストール
sudo 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

SECRET_KEY=`echo -e "import os; print(os.urandom(24).hex())" | python3`

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 = '#####'

# 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
※データベースのパスワードなど、適宜変更してください。

sed -i "s/#####/$SECRET_KEY/" superset_config.py

pipenv shell

superset db upgrade

superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
※管理者のユーザ名やパスワードなど適宜変更してください。

superset load_examples

superset init

superset run -h 0.0.0.0 -p 8088 --with-threads --reload
※動作の確認。Ctrl+Cで止めます。

4. サービス化
cat << EOF | sudo tee /etc/systemd/system/superset.service
[Unit]
Description=superset
[Service]
Type=simple
Environment=PYTHONPATH=/home/debian/superset
ExecStart=/home/debian/superset/.venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload
User=debian
Group=debian
WorkingDirectory=/home/debian/superset
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※この例ではdebianユーザでサービスを実行し、supersetをインストールした仮想環境は/home/debian/supersetにあることを想定しています。適宜変更してください。

sudo systemctl enable superset.service

sudo systemctl start superset.service

ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月27日土曜日

DockerでMetabase、PostgreSQL14をインストールしたコンテナを構築する

Metabaseはオープンソースのデータ解析・可視化ツールです。

○Metabaseの画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.Metabase、PostgreSQL14をインストールしたコンテナを構築するために、以下のdocker-compose.ymlを保存します。。
docker-compose.yml
version: "3.9"
services:
  metabase:
    image: metabase/metabase
    container_name: "metabase"
    volumes:
      - "metabase-data:/metabase-data"
    environment:
      MB_DB_FILE: /metabase-data/metabase.db
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: postgres
      MB_DB_PASS: metabase
      MB_DB_HOST: db
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:14-alpine
    container_name: "metabase-db"
    ports:
      - "5432:5432"
    volumes:
      - "db-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: metabase
        POSTGRES_PASSWORD: metabase
volumes:
  db-data:
    driver: local
  metabase-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.ブラウザからブラウザからhttp://<ホスト名またはホストのIP>:3000/にアクセスして、初期設定を以下のように入力します
言語、ユーザアカウント情報を入力して、データベース接続では、以下の様に入力します。
Database type: PostgreSQL
Host: db
Port: 5432
Database name: metabase
Database username: postgres
Database password: metabase
これ以降はお好みで選択します。

Ubuntu 20.04にApache SupersetとMariaDBをインストールする

Apache SupersetはPython製のBIツールです。

〇Apache Supersetの画面

インストール方法

1. 以下のコマンドを実行してMariaDBをインストールします。
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;"
※パスワードは適宜変更してください。

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;"

2.pipenvのインストール
sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

echo "export PYTHONPATH=/home/ubuntu/superset" >> ~/.bashrc
※この例ではubuntuユーザのホームディレクトリ下のsupersetディレクトリにsuperset_config.pyを配置することを想定しています。適宜パスを変更してください。

source ~/.bashrc

3.Apache Supersetのインストール
sudo 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

SECRET_KEY=`echo -e "import os; print(os.urandom(24).hex())" | python3`

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 = '#####'

# 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
※データベースのパスワードなど、適宜変更してください。

sed -i "s/#####/$SECRET_KEY/" superset_config.py

pipenv shell

superset db upgrade

superset fab create-admin --username admin --firstname admin --lastname user --email admin@localhost.localdomain --password admin
※管理者のユーザ名やパスワードなど適宜変更してください。

superset load_examples

superset init

superset run -h 0.0.0.0 -p 8088 --with-threads --reload
※動作の確認。Ctrl+Cで止めます。

4. サービス化
cat << EOF | sudo tee /etc/systemd/system/superset.service
[Unit]
Description=superset
[Service]
Type=simple
Environment=PYTHONPATH=/home/ubuntu/superset
ExecStart=/home/ubuntu/superset/.venv/bin/superset run -h 0.0.0.0 -p 8088 --with-threads --reload
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/superset
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※この例ではubuntuユーザでサービスを実行し、supersetをインストールした仮想環境は/home/ubuntu/supersetにあることを想定しています。適宜変更してください。

sudo systemctl enable superset.service

sudo systemctl start superset.service

ブラウザでhttp://<サーバ名またはIPアドレス>:8088/ にアクセスします。adminユーザ、パスワードadminでログインします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月26日金曜日

DockerでKanboardとPostgreSQL14のコンテナーを構築する

Kanboardはタスク管理をおこなうPHP製のソフトウェアです。KanboardとPostgreSQL14のコンテナーをDocker上に構築します。

○Kanboardの画面
ブラウザからhttp://<Dockerホスト>/にアクセスします。
ユーザ:admin、パスワード:adminを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

Raspberry Pi OS(Raspbian Buster)にDockerとDocker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、KanboardとMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  kanboard:
    image: kanboard/kanboard:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - kanboard_data:/var/www/app/data
      - kanboard_plugins:/var/www/app/plugins
      - kanboard_ssl:/etc/nginx/ssl
    environment:
      DATABASE_URL: postgres://kanboard:kanboard@db:5432/kanboard
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: kanboard
      POSTGRES_USER: kanboard
      POSTGRES_PASSWORD: kanboard
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "kanboarddb-data:/var/lib/postgresql/data"
volumes:
  kanboard_data:
    driver: local
  kanboard_plugins:
    driver: local
  kanboard_ssl:
    driver: local
  kanboarddb-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

Apache Supersetのダッシュボードのヘッダー色を変更する

Apache SupersetはダッシュボードのCSSをカスタマイズすることが出来ます。以下の手順でダッシュボードのヘッダー色を変更します。

操作手順

1. ダッシュボードを開いて「ダッシュボードを編集」をクリックします。編集モードで画面右上の「・・・」ボタン(下図赤枠部分)をクリックして「CSSを編集」を選択します。

2.CSSウインドウが表示されるので、Live CSS editorでdashboard-headerクラスに以下の様な属性を設定して、ヘッダー色を指定します。
.dashboard-header {
  background-color: #FFF587;
}
※注:Apache Superset version 1.3.1では上記設定で変わりますが、バージョンアップによって効かない可能性があります

CSSウインドウ外をクリックすると閉じることができます。

3.保存ボタンまたは「別名で保存」メニューでダッシュボードを保存します。ダッシュボードの背景色が変わったことを確認します。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月25日木曜日

PySimpleGUIでテーブル要素の列幅を設定する

PySimpleGUIでテーブル要素の列幅を設定するには、以下のサンプルプログラムのようにauto_size_columnsにFalse、def_col_widthパラメータに列幅の文字数を指定します。

サンプル実行手順

以下のファイルを保存して、実行します。

table_defcolwidth.py
import PySimpleGUI as sg

headings=["列A", "列B", "列C"]
data=[
    [100, 200, 300],
    [400, 500, 600]
]
sg.theme('SystemDefault')
layout = [
    [sg.Table(data, headings, auto_size_columns=False, def_col_width=5)]
]

window = sg.Window('テーブルサンプル', layout, size=(200,150))
# イベントループ
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python table_defcolwidth.py

〇実行結果

関連情報

PySimpleGUIでテーブル要素の表示する列を設定する

PySimpleGUIでテーブル要素の表示行数を設定する

PySimpleGUIでテーブル要素の行の高さを設定する

PySimpleGUIでテーブル要素のフォントを設定する

PySimpleGUIでテーブル要素の色を設定する

PySimpleGUIでテーブル要素のパディングを設定する

PySimpleGUIでテーブル要素の各列の幅を設定する

PySimpleGUIでテーブル要素のアライメントを設定する

・PySimpleGUIに関する他の記事はこちらを参照してください。

DockerでKanboardとMariaDBのコンテナーを構築する

Kanboardはタスク管理をおこなうPHP製のソフトウェアです。KanboardとMariaDBのコンテナーをDocker上に構築します。

○Kanboardの画面
ブラウザからhttp://<Dockerホスト>/にアクセスします。
ユーザ:admin、パスワード:adminを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、KanboardとMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  kanboard:
    image: kanboard/kanboard:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - kanboard_data:/var/www/app/data
      - kanboard_plugins:/var/www/app/plugins
      - kanboard_ssl:/etc/nginx/ssl
    environment:
      DATABASE_URL: mysql://kanboard:kanboard@mariadb/kanboard
  mariadb:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
    ports:
      - "3306:3306"
    volumes:
      - "mariadb-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: kanboard
      MYSQL_DATABASE: kanboard
      MYSQL_USER: kanboard
      MYSQL_PASSWORD: kanboard
volumes:
  kanboard_data:
    driver: local
  kanboard_plugins:
    driver: local
  kanboard_ssl:
    driver: local
  mariadb-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

Apache Supersetのダッシュボードの背景色を変更する

Apache SupersetはダッシュボードのCSSをカスタマイズすることが出来ます。以下の手順でダッシュボードの背景色を変更します。

操作手順

1. ダッシュボードを開いて「ダッシュボードを編集」をクリックします。編集モードで画面右上の「・・・」ボタン(下図赤枠部分)をクリックして「CSSを編集」を選択します。

2.CSSウインドウが表示されるので、Live CSS editorでdashboard-contentクラスに以下の様な属性を設定して、背景色を指定します。
.dashboard-content {
  background-color: #FF8C64;
}
※注:Apache Superset version 1.3.1では上記設定で変わりますが、バージョンアップによって効かない可能性があります

CSSウインドウ外をクリックすると閉じることができます。

3.保存ボタンまたは「別名で保存」メニューでダッシュボードを保存します。ダッシュボードの背景色が変わったことを確認します。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月24日水曜日

DockerでpgAdmin4とPostgreSQL14のコンテナーを構築する

pgAdmin4はPostgreSQL用のwebインターフェイスです。pgAdmin4とPostgreSQLのコンテナーをDocker上に構築します。

○pgAdmin4の画面

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、pgAdmin4とPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  pgadmin4:
    image: dpage/pgadmin4
    container_name: pgadmin4
    ports:
      - 8000:80
    volumes:
      - pgadmin4cfg-data:/var/lib/pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@localhost.localdomain
      PGADMIN_DEFAULT_PASSWORD: admin
    hostname: pgadmin4
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: pgadmin4db
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "pgadmin4db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  pgadmin4cfg-data:
    driver: local
  pgadmin4db-data:
    driver: local
※パスワードは適宜変更してください。

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

4.初期設定
ブラウザからhttp://<Dockerホスト>:8000/にアクセスします。ユーザ:admin@localhost.localdomains、パスワード:adminを指定します。
ログイン後、画面左上のServers上で右クリックメニューから「Create」→「Server...」を選択します。

5.Create-ServerダイアログでNameフィールドにサーバーの論理名称を入力します

6.ConnectionタブにHost nameに「db」、Maintenance databaseに[pgadmin4db」、Usernameに「postgres」、Passwordに「Postgres」を入力して、ダイアログ下の「Save」ボタンをクリックします。

Apache Supersetのダッシュボード内のチャートの背景色を変更する

Apache SupersetはダッシュボードのCSSをカスタマイズすることが出来ます。以下の手順でダッシュボード内のチャートの背景色を変更します。

操作手順

1. ダッシュボードを開いて「ダッシュボードを編集」をクリックします。編集モードで画面右上の「・・・」ボタン(下図赤枠部分)をクリックして「CSSを編集」を選択します。

2.CSSウインドウが表示されるので、Live CSS editorでdashboard-component-chart-holderクラスに以下の様な属性を設定して、背景色を指定します。
.dashboard-component-chart-holder {
  background-color: #d3cacc;
}
※注:Apache Superset version 1.3.1では上記設定で変わりますが、バージョンアップによって効かない可能性があります

CSSウインドウ外をクリックすると閉じることができます。

3.保存ボタンまたは「別名で保存」メニューでダッシュボードを保存します。チャートの背景色が変わったことを確認します。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月23日火曜日

DockerでpgwebとPostgreSQL14のコンテナーを構築する

pgwebはPostgreSQLのwebインターフェイスです。pgwebとPostgreSQLのコンテナーをDocker上に構築します。

○pgwebの画面

ブラウザからhttp://<Dockerホスト>:8081/にアクセスします。
サーバ:db、ユーザ:postgres、パスワード:postgres、データベース:pgwebを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、pgwebとPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  pgweb:
    container_name: pgweb
    restart: always
    image: sosedoff/pgweb
    ports: 
      - "8081:8081" 
    environment:
      - DATABASE_URL=postgres://postgres:postgres@db:5432/pgweb?sslmode=disable
    depends_on:
      - db
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: pgweb
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "pgwebdb-data:/var/lib/postgresql/data"
volumes:
  pgwebdb-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

Apache Supersetのチャートのヘッダー色を変更する

Apache SupersetはダッシュボードのCSSをカスタマイズすることが出来ます。以下の手順でチャートのヘッダー色を変更します。

操作手順

1. ダッシュボードを開いて「ダッシュボードを編集」をクリックします。編集モードで画面右上の「・・・」ボタン(下図赤枠部分)をクリックして「CSSを編集」を選択します。

2.CSSウインドウが表示されるので、Live CSS editorでchart-headerクラスに以下の様な属性を設定して、文字色・背景色・空白サイズを指定します。
.chart-header {
  color: #f05020;
  background-color: #fffdd0;
  padding: 5px;
}
※注:Apache Superset version 1.3.1では上記設定で変わりますが、バージョンアップによって効かない可能性があります
CSSウインドウ外をクリックすると閉じることができます。

3.保存ボタンまたは「別名で保存」メニューでダッシュボードを保存します。チャートのヘッダー部分の色が変わったことを確認します。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

Debian 11(Bullseye)にGrav CMSをインストールする

Gravはデータベースを使用しないPHP製のCMSです。

〇Gravの画面

インストール方法

1. Grav CMSのインストール
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-gd \
  php7.4-json \
  php7.4-mbstring \
  php7.4-xml \
  php7.4-zip \
  php7.4-curl \
  unzip

sudo a2enmod rewrite

wget -O grav.zip https://getgrav.org/download/core/grav-admin/1.7.25

unzip grav.zip

sudo mv grav-admin /opt/grav

sudo ln -s  /opt/grav /var/www/html


mkdir -p skeleton-soraarticle

cd skeleton-soraarticle

wget -O grav-skeleton-soraarticle-blog-v1.1.2.zip https://getgrav.org/download/skeletons/soraarticle-blog/1.1.2

unzip grav-skeleton-soraarticle-blog-v1.1.2.zip

sudo cp -R * /opt/grav

cd /opt/grav/

sudo ./bin/gpm install admin -y

sudo ./bin/plugin login new-user --user=admin --password=Admin123 --email=admin@localhost.localdomain --permissions=b --fullname=administrator --title=admin --language=en
※パスワードは適宜変更してください。

sudo chown -R www-data:www-data /opt/grav

cat << EOF | sudo tee -a /etc/apache2/apache2.conf
<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
EOF

sudo systemctl restart apache2

2. ブラウザでhttp://<ホスト名またはIPアドレス>/grav/admin にアクセスします。
ユーザはadmin、パスワードはAdmin123を入力します

2021年11月22日月曜日

DockerでAdminer4.8.1とMariaDB10.6のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

ブラウザからhttp://<Dockerホスト>:8080/にアクセスします。
サーバ:mariadb、ユーザ:root、パスワード:adminer、データベース:adminerを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Adminer4.8.1とMariaDBのコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  adminer:
    image: adminer:4.8.1
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - mariadb
  mariadb:
    image: mariadb:10.6
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "mariadb"
    volumes:
      - "mariadb-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
        MYSQL_DATABASE: adminer
        MYSQL_ROOT_PASSWORD: adminer
volumes:
  mariadb-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

Apache Supersetのダッシュボードに任意の画像を追加する

Apache Supersetのダッシュボードに任意の画像を追加するには、以下の手順を実行します。

操作手順

1.仮想環境内のイメージディレクトリに画像ファイルを配置
※cpコマンドやファイルアプリケーションで「.venv/lib/python3.8/site-packages/superset/static/assets/images/」フォルダに画像を配置します。

確認コマンド(この例では、ホームディレクトリの下のsupersetディレクトリ以下に仮想環境を作成した場合を想定しています)
cd ~superset
ls .venv/lib/python3.8/site-packages/superset/static/assets/images/

2.Apache Supersetの画面上部の「ダッシュボード」タブをクリックして、画面右上の「+ダッシュボード」ボタンをクリックします。

3.画面上部の「untitled dashboard」をクリックして、ダッシュボード名を入力します

4.Markdown要素をドラッグ&ドロップして、下図のようにレイアウトに配置します。

5.Markdown要素をクリックして、以下の様に画像パスとファイル名(※ここではyellow_flower.jpgというファイル名を配置したという想定です)を指定します。
![yellow flower](/static/images/yellow_flower.jpg "黄色い花")

Markdown要素の外をクリックすると、画像が表示されます。

6.Markdown要素の大きさを変更したい場合はMarkdown要素の右下あたりにマウスカーソルをホバリングさせると、マウスカーソルの形状が変わるので、下図のようにドラッグして大きさを変更します。

以下の様にMarkdown領域が広がって、画像全体が表示されます。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月21日日曜日

DockerでAdminer4.8.1とPostgreSQL14のコンテナーを構築する

Adminerでブラウザからデータベースを操作する事ができます。

○Adminerの画面

ブラウザからhttp://<Dockerホスト>:8080/にアクセスします。
サーバ:db、ユーザ:adminer、パスワード:adminer、データベース:adminerを指定します。

構築方法

1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

Raspberry Pi OS(Raspbian Buster)にDockerとDocker Compose V2系をインストールする

2.以下のdocker-compose.ymlを使用して、Adminer4.8.1とPostgreSQL14のコンテナーを構築する事ができます。
docker-compose.yml
version: "3.9"
services:
  adminer:
    image: adminer:4.8.1
    container_name: "adminer"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: postgres:14
    environment:
      POSTGRES_DB: adminer
      POSTGRES_USER: adminer
      POSTGRES_PASSWORD: adminer
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "adminerdb-data:/var/lib/postgresql/data"
volumes:
  adminerdb-data:
    driver: local

3.サービスの実行
サービスを起動する場合は、以下のコマンドを実行します。
docker compose up -d

サービスを停止する場合は、以下のコマンドを実行します。
docker compose down

Debian 11(Bullseye)に動画編集アプリVidCutterをインストールする

VidCutterは動画編集アプリケーションです。

〇VidCutterの画面(Debian 11)

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install flatpak

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

sudo flatpak -y install com.ozmartians.VidCutter

関連情報

・プロジェクトgithubリポジトリ
https://github.com/ozmartian/vidcutter

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプ>リケーションのまとめ

2021年11月20日土曜日

Debian 11(Bullseye)にDockerを使用してNocoDBとPostgreSQLをインストールする

nocodbはコード無しでデータベースアプリケーションを作成する事のできるソフトウェアです。

〇NocoDBの画面

インストール手順

以下の手順でDocker/docker compose/nocodbをインストールできます

1. 以下のページを参照してDocker/Docker Composeをインストールします。
Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

2. nocodbとPostgreSQLコンテナの構築・実行
以下のファイルを保存します。
docker-compose.yml
version: "3.9"
services:
  nocodb:
    image: nocodb/nocodb
    container_name: "nocodb"
    environment:
      NC_DB: "pg://db:5432?u=postgres&p=noco&d=noco"
    ports:
      - "8080:8080"
    depends_on:
      - db
  db:
    image: postgres:13-alpine
    container_name: "nocodb_db"
    ports:
      - "5432:5432"
    volumes:
      - "db-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: noco
        POSTGRES_PASSWORD: noco
volumes:
  db-data:
    driver: local

ファイルを保存したディレクトリで、以下のコマンドを実行します。
docker compose up -d

3. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
ブラウザからnocodbにアクセスし、最初にユーザを登録します

Apache Supersetでデータセットを集計して数値とトレンドライン(Big Number with Trendline)で表示する

Apache Supersetでデータセットを集計して数値とトレンドライン(Big Number with Trendline)で表示するには、以下の手順を実行します。

操作手順

1.データセット一覧ページで使用したいデータセットの名前リンク(下図赤枠部分)をクリックします。
※ここでは、以下のサンプルデータを使用します
store_name,sales_date,sales_amt
A店,2021-10-01,900000
A店,2021-10-02,910000
A店,2021-10-03,930000
A店,2021-10-04,950000
A店,2021-10-05,900000
A店,2021-10-06,1000000
B店,2021-10-01,1850000
B店,2021-10-02,1900000
B店,2021-10-03,2050000
B店,2021-10-04,2100000
B店,2021-10-05,1900000
B店,2021-10-06,2000000
C店,2021-10-05,1300000
C店,2021-10-06,1500000

2.可視化方式の変更
可視化方式には、デフォルトで「テーブル」が選択されているので、「テーブル」をクリックします(下図赤枠部分)。

3.数値チャートの選択
「可視化方式を選んでください」とダイアログが表示されるので、検索フィールドに「trend」と入力し、結果として表示された「Big Number with Trendline」チャート(下図赤枠部分)をクリックします。その後「SELECT」ボタンをクリックします。

4.指標フィールドの「+」アイコンをクリックして、COLUMNに集計したい値(この場合は売上を表すsales_amt)、AGGREGATEフィールドに集計関数(この場合はSUM)を選択し、「保存」ボタンをクリックします。

5.クエリ実行ボタンをクリックします。集計値とトレンドラインが表示されることを確認します。

6. 「保存」ボタンをクリックします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ

2021年11月19日金曜日

Debian 11(Bullseye)にKTurtleをインストールする

KTurtleで、スクリプトで亀を動かして図形を描き、プログラムを学習する事ができます。

〇KTurtleの画面(Debian 11)

インストール方法

シェルから以下のコマンド実行します
sudo apt-get update

sudo apt-get -y install kturtle

Apache Supersetでデータセットを集計してピボットテーブルで表示する

Apache Supersetでデータセットを集計してピボットテーブルで表示するには、以下の手順を実行します。

操作手順

1.データセット一覧ページで使用したいデータセットの名前リンク(下図赤枠部分)をクリックします。
※ここでは、以下のサンプルデータを使用します
store_name,sales_date,sales_amt
A店,2021-10-01,900000
A店,2021-10-02,910000
A店,2021-10-03,930000
A店,2021-10-04,950000
A店,2021-10-05,900000
A店,2021-10-06,1000000
B店,2021-10-01,1850000
B店,2021-10-02,1900000
B店,2021-10-03,2050000
B店,2021-10-04,2100000
B店,2021-10-05,1900000
B店,2021-10-06,2000000
C店,2021-10-05,1300000
C店,2021-10-06,1500000

2.可視化方式の変更
可視化方式には、デフォルトで「テーブル」が選択されているので、「テーブル」をクリックします(下図赤枠部分)。

3.数値チャートの選択
「可視化方式を選んでください」とダイアログが表示されるので、検索フィールドに「pivot」と入力し、結果として表示された「Pivot Table v2」チャート(下図赤枠部分)をクリックします。その後「SELECT」ボタンをクリックします。

4. ROWSフィールド、「列」フィールドでピボットテーブルの配置を設定します。ここではROWSフィールドに「販売日」、列フィールドに「ストア名」を指定します。

5.指標フィールドの「+」アイコンをクリックして、COLUMNに集計したい値(この場合は売上を表すsales_amt)、AGGREGATEフィールドに集計関数(この場合はSUM)を選択し、「保存」ボタンをクリックします。

6.クエリ実行ボタンをクリックします。集計値がピボットテーブルに表示されることを確認します。

7. 「保存」ボタンをクリックします。

関連情報

・Apache Supersetのインストール方法、ダッシュボードやチャートの作成方法は以下のページを参照してください。
Apache Supersetのまとめ