Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールです。 ClickHouse ユーザーの間でも人気が高まっています。

Superset をインストールする 2 つの方法について説明し、Superset から最初の ClickHouse データベースに接続する方法を示します。コード例は、Ubuntu 18.04、Superset 1.1.0、clickhouse-sqlalchemy 0.1.6 に基づいています。

方法1: Python仮想環境

最初の方法では、Superset をホストに直接インストールします。まず、Python 仮想環境を作成します。以下はよく使われるコマンドです。

python3 -m venv クリックハウス-sqlalchemy
.clickhouse-sqlalchemy/bin/activate を実行します
pip インストール --upgrade pi

Supersetをインストールして起動する

依存パッケージをインストールする

sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

ClickHouse へのスーパーセット接続を処理するためのコマンド。環境に応じて若干の調整が必要になる場合があります。

FLASK_APP=スーパーセットをエクスポートする
pip で apache-superset をインストールします
スーパーセット DB アップグレード
スーパーセット fab 作成管理者
スーパーセット load_examples
スーパーセット初期化

clickhouse-sqlalchemy ドライバーをインストールする

pip インストール clickhouse-sqlalchemy

clickhouse-driver のバージョンは 0.2.0 以上である必要があります。

pip フリーズ | grep クリックハウス
クリックハウスドライバー==0.2.0
クリックハウス-sqlalchemy==0.1.6

Supersetを起動してログインする

スーパーセットを始める時間です。次のコマンドを実行します。

スーパーセット実行 -p 8088 --with-threads --reload --debugger

localhost:8088 を参照します

以下のようなログイン画面が表示されます。 Superset のインストール時に定義した管理者のログイン名とパスワードを入力します (例: admin/secret)。

方法2: Docker Composeを使用してSupersetを実行する

Python のバージョン、仮想環境、pip について心配したくない場合。 docker を使用できます。

まず、docker と docker-compose をインストールします。

インストールが完了しました。バージョンを確認してください。

$ docker --version
Docker バージョン 19.03.4、ビルド 9013bf583a
$ docker-compose --version
docker-compose バージョン 1.29.1、ビルド c34c88b2

docker-compose を使用してスーパーセットをインストールする

gitクローン https://github.com/apache/superset
CD スーパーセット
./docker/requirements-local.txt をタッチします。
echo "clickhouse-driver>=0.2.0" >> ./docker/requirements-local.txt
echo "clickhouse-sqlalchemy>=0.1.6" >> ./docker/requirements-local.txt
docker-compose -f docker-compose-non-dev.yml をアップします

操作が成功すると、ブラウザはlocalhost:8088にアクセスします。

デフォルトのログイン/パスワードは admin/admin です。

ClickHouseへの接続

選択したインストール方法に関係なく、最初の ClickHouse データベースに接続できるようになりました。

ログインすると、最近の作業と現在のダッシュボードが表示された画面が表示されます。右上隅の「データ」タブを選択し、「データベース」を選択します。現在のデータベース接続を含むページが表示されます。新しいデータベースを追加するには、「+ データベース」ボタンを押します。

次の値を入力します。

データベース名: clickhouse-public
SQLALCHEMY URL: clickhouse+native://demo:[email protected]/default?secure=true

Altinity.Cloud は公開データセット サイトです。

「接続テスト」ボタンを押します。成功したらリンクを保存します。

接続プロセス

この接続では、ClickHouse や他の多くのデータベースに接続するための共通 A​​PI である SQLAlchemy が使用されます。

SQLAlchemy 接続では、複数のドライバーをサポートする特殊な URL 形式が使用されます。 ClickHouse に接続するには、前に示したものと同様の URL を指定する必要があります。

クリックハウス+ネイティブ://デモ:[email protected]/default?secure=true

ClickHouse に接続するための主なプロトコルは、ネイティブ TCP と HTTP の 2 つです。

生の TCP を使用することをお勧めします。

clickhouse+native://<ユーザー>:<パスワード>@<ホスト>:<ポート>/<データベース>[?オプション…]

スーパーセットを構成する

ClickHouse への接続に成功しました。次に、Superset を使用してダッシュボードを構築します。

まず、データセットを作成しましょう。接続として clickhouse-public を選択し、スキーマのデフォルトとテーブル ontime を選択します。

データセットが用意できたら、最初のグラフを作成するのは簡単です。データセット ページでデータセット名をクリックするだけです。 Superset は、以下に示すように、チャートを定義する画面に切り替わります。

時系列チャートの作成

ダッシュボードにグラフを公開します。

作成したチャートを追加するには、「ダッシュボード」ボタンを選択します。

上記は、ClickHouse データの Apache Superset 視覚化のプロセス全体です。

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法について説明したこの記事はこれで終わりです。ClickHouse の Apache Superset 視覚化の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • SpringbootはClickhouseリアルタイムビッグデータ分析エンジンを使用する(使用方法)
  • Clickhouse Docker クラスターの展開と構成を例を使って説明します
  • MybatisをClickHouseに接続する方法
  • SpringBoot2 統合 ClickHouse データベースのケース分析
  • ビッグデータ分野におけるデータ分析データベースClickHouseの応用実践

<<:  JavaScript関数導入の詳しい説明

>>:  フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

推薦する

Mysql論理アーキテクチャの詳細な説明

1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...

CSS ワールド - コード実践: 画像の Alt 情報の表示

ただし、デフォルトの src を持つ <img> 要素を使用してスクロール読み込み効果を...

Vue 仮想 Dom から実際の Dom への変換

別のツリー構造があるJavascriptオブジェクトでは、このツリーが本物であると伝えるだけでよいD...

Reactのコンポーネント作成方法のまとめ

目次1. 関数を使用してコンポーネントを作成する2. クラスを使用してコンポーネントを作成する3. ...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

Vueでjsonpを使用する方法

目次1. はじめに2. インストール3. 使用4. vueファイルの使用1. はじめに最近、手書き入...

React onClickにパラメータを渡す問題について話しましょう

背景下のようなリストでは、削除ボタンをクリックすると削除操作を実行する必要があります。 リスト生成:...

MySQL サーバーにおける SSD パフォーマンスの問題の詳細な分析とテスト

【質問】 HP サーバーを使用しています。SSD が IOPS 約 5000 を書き込むと、%uti...

シーケンス関数を実装する MySQL コード

MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...

Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について...

DockerにRedisコンテナをインストールするための実装手順

目次DockerにRedisをインストールする1. Redisイメージを見つける2. Redisイメ...

Vue 組み込みコンポーネントのキープアライブでの LRU アルゴリズムの使用

目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...

Apache Webサーバーのインストールと設定方法

信頼性が高く、人気があり、簡単に構成できる Web サーバーである Apache で独自の Web ...

Dockerは単一のイメージを使用して複数のポートにマッピングします

必要:公式サイトのリソースサーバーは確かに1つのインスタンスでは使えず、複数のインスタンスを一緒に使...