前に書かれている: ブロガーは、実際の開発と経験を経て、トレーニング ビジネスに専念している「山ブタ」です。彼のニックネームは、漫画「ライオン キング」の「ペン ペン」から取られています。楽観的で前向きな姿勢で人々を取り巻くこと。私の技術的な道は、Java のフルスタック エンジニアからビッグ データ開発とデータ マイニングの分野にまで進み、現在ではある程度の成功を収めています。学習の途中で役立つことを願っています。同時に、ブロガーはこの試みを通じて完全な技術ライブラリを構築したいとも考えています。記事の技術的な点に関連する例外、エラー、および注意事項は最後にリストされます。さまざまな方法で素材を提供していただけます。 。
- 記事内の間違いを批判および指摘し、適時に修正してください。
- 話し合ったり学びたい質問がある場合は、[email protected] までご連絡ください。
- 記事の掲載スタイルはコラムごとに異なり、すべて自己完結型ですので、不備があればご指摘ください。
ビジュアル ダッシュボード - スーパーセットのインストールと使用
この記事のキーワード: スーパーセット、視覚化、Ubuntu、インストール
記事ディレクトリ
1. スーパーセットの概要
Apache Superset は、データ エンジニアや科学者が Web インターフェイス上でさまざまなタイプのデータ インサイトを作成および共有できるように設計された、最新のエンタープライズ グレードのデータ探索および視覚化プラットフォームです。
1. ソフトウェアの機能
Apache Superset の最下層はFlaskアプリケーションであり、そのコア機能にはデータの視覚化、ダッシュボードの作成、データのスライスとダイシング、SQL Lab が含まれます。Superset のアプリケーション構造では、Flask アプリケーションがルーティング、ビュー関数、テンプレートのレンダリングを処理し、SQLAlchemy がさまざまなデータベースへの抽象アクセスを提供します。Apache Superset は複数のデータ ソースをサポートしており、 SQL を使用するデータベースやデータ エンジン (MySQL、Postgres、BigQuery、Redshift など)
に接続でき、 Hive、Presto、Druid などのさまざまなビッグ データ コンポーネントもサポートします。 .、インストールするだけで十分です。一部のコンポーネントは問題ありません。
2. ソフトウェアの機能
- 豊富なデータ視覚化コンポーネント ライブラリがあり、さまざまなデータ表示ニーズを満たすさまざまなグラフ タイプを提供します。
- SQL Lab を使用すると、便利で高速な SQL クエリを直接実行できます。
- レスポンシブデザインでモバイル対応
- 強力なデータ権利管理機能により、ユーザーごとのデータアクセス権を細かく制御できます。
2. スーパーセットのインストール
1. 事前環境
ソフトウェアは Python 3.6 以降で実行する必要があります。仮想環境を使用することをお勧めします。公式のインストール手順は次のとおりです: https://superset.apache.org/docs/installation/installing-superset-from-scratch/。
- Virtualenv のインストール: pip install virtualenv
- 仮想環境を作成します: python3 -m venv superset
- 仮想環境をアクティブ化します: .superset/bin/activate
- 環境前のインストール
インストールを開始する前に、システム環境と Python 仮想環境に以下がインストールされていることを確認する必要があります。
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python3-dev
pip install wheel
2. インストール構成
- スーパーセットをインストールします: pip install apache-superset
- プリセット
# 推荐添加到环境变量配置文件中
export FLASK_APP=superset
superset fab create-admin
この時点で警告が表示されますが、次の手順に従って解決できます。
touch superset_config.py
# 推荐添加到环境变量配置文件中
export SUPERSET_CONFIG_PATH=/home/hadoop/superset/superset_config.py
superset fab create-admin
SUPERSET_CONFIG_PATHのパスを構成し、作成したばかりの構成ファイルをポイントし、完了後に再度開始します。
- エラー解決
作成者は、コマンドの実行プロセスで次のエラーを報告しました。
これはsqlparseの非互換性が原因で、デフォルトで 0.4.4 がインストールされており、バージョンは次のコマンドで確認できます。
pip show sqlparse
現時点では、0.4.3 にダウングレードする必要があります。これは、インストールしたスーパーセットの最小バージョン間隔が 0.4.3 であるためです。別のバージョンを選択した場合は、実際の状況に応じて処理してください。
pip uninstall sqlparse
pip install sqlparse==0.4.3
3. アクセスを開始する
前の初期化手順が完了したら、いくつかのサンプル データをインポートして開始できますが、すべての操作を実行する前に初期化が必要です。
- サンプルデータをインポートする
# 初始化命令
superset db upgrade
# 加载数据,耗时较长
superset load_examples
- スーパーセットビルド
まず、フロントエンド プロジェクトのソース コードをダウンロードし、システムにノード環境がインストールされていることを確認する必要があります。エディターで現在使用されているバージョンには、ノード 16.9.1 以降、npm 7.5.4 || 8.1.2 以降が必要です。ここでは、ノード 16.x をインストールする例を示します。
git clone https://github.com/apache/superset.git
強い注意: NodeJS のメジャー バージョンが一貫していることを確認してください。そうでない場合は、構築上のさまざまな問題を自分で解決する方法を見つける必要があります。RpcIpcMessagePortClosedError エラーが発生した場合は、メモリ不足が原因であることが多いため、メモリを増やしてみてください。
# 安装构建所需环境
sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g npm@latest
sudo npm install -g node-gyp
# ARM架构需要手动安装chromium-browser
sudo apt install chromium-browser
# 构建前端项目
npm ci
# 预先解决一些构建中遇到的问题
npx update-browserslist-db@latest
# 该步骤耗时较长 - 需要保证可用内存在4GB以上
npm run build
- スーパーセットスタート
# 切换到superset-frontend的上一级目录
cd ..
superset run -p 8088 --with-threads --reload --debugger
- スーパーセットアクセス
起動後、ブラウザでポート 8088 にアクセスし、前の初期化で設定したパスワードを使用してログインします。以前に
インポートされたサンプルが表示されていることがわかります。
3. データソースの構成
操作画面の右上では、複数のデータソースの追加方法がサポートされていますが、この記事ではデータベースへの接続方法を紹介します。
1.ポストグレSQL
- 依存関係のインストール
PostgreSQL に接続する場合は、プロジェクトを開始する前に関連する依存関係をインストールする必要があります。スーパーセット仮想環境をアクティブ化した後、次のコマンドを実行します。
pip install psycopg2-binary
- 接続構成
構成インターフェースでは、PostgreSQL と SQLite の 2 つの直接インポート方法がデフォルトでサポートされています。PostgreSQL
を選択して構成インターフェースに入ります。接続が成功した後、 DATASETの作成を開始できます。または、「FINISH」をクリックした後、以下を使用することもできます。をクリックし、右上隅にある ➕ を再度クリックすると、 の下に[データ]メニュー[データセットの作成]。
2.MySQL
データベース接続を追加した後、別のデータ ソースを再度追加する場合は、次の手順に従うことができます。
すると、図に示すように、操作インターフェイスに DATABASE を再度追加するボタンが表示されます。
- 依存関係のインストール
MySQL に接続する場合は、プロジェクトを開始する前に関連する依存関係をインストールする必要があります。スーパーセット仮想環境をアクティブ化した後、次のコマンドを実行します。
sudo apt-get install libmysqlclient-dev
pip install mysqlclient
- 接続構成
構成インターフェースで「Other」を選択し、接続文字列を介して直接構成します。
接続文字列はSQLAlchemy URI -> mysql://username:password@hostname:port/databaseの形式です。
3. ハイブ
- 依存関係のインストール
Hive に接続するときは、プロジェクトを開始する前に関連する依存関係をインストールする必要があります。スーパーセット仮想環境をアクティブ化した後、次のコマンドを実行します。
pip install PyMySQL
pip install pyhive
pip install thrift
sudo apt-get install python-dev libsasl2-dev
pip install sasl
pip install thrift_sasl
接続する前に、Hive 関連のサービスが開始されていることを確認してください。具体的な手順については、「Hive 3.x のインストールと展開 - Ubuntu」を参照してください。
- 接続構成
設定インターフェイスで [その他] を選択し、接続文字列を使用して直接設定します。
接続文字列はSQLAlchemy URI -> hive://username:password@hostname:port/databaseの形式です
。接続テストに合格すると、メッセージが表示される場合があります。 CONNECT ボタンをクリックすると表示される 接続できない例外ですが、実際のテストの後、編集者は影響がないことを確認しました。この時点で、接続は正常に作成されています。ポップアップ ウィンドウを閉じてページを更新するだけで、その後は通常どおり使用できるようになります。
4. その他の注意事項
さまざまな接続に必要な依存関係をスーパーセット仮想環境に追加し、対応する種類の接続を作成し続けると、操作インターフェイスはますます豊富になります。必要なデータ ソースの種類が基本的に安定している場合、スーパーセット プロセスをハングさせることができます
。バックグラウンドで実行して、視覚化作業に集中できるようにします。
# 进入到对应目录后执行
nohup superset run -p 8088 --with-threads --reload --debugger &
下の QR コードをスキャンして、公式 CSDN ファン WeChat グループに参加すると、私と直接コミュニケーションを取ることができ、さらに多くのメリットがあります~