Superset は、軽量なビジネスインテリジェンス (BI) ツールです。E-MapReduce (EMR) の Druid または Hive データソースに接続して、クエリの実行、チャートの作成、ダッシュボードの公開をすべてブラウザから行うことができます。この例では、EMR V3.34.0 クラスターを使用します。
前提条件
開始する前に、以下が用意されていることを確認してください。
-
作成時に Supersetをオプションサービスとして選択した EMR Hadoop または Druid クラスター。手順については、「クラスターの作成」をご参照ください。
-
お使いのコンピューターからクラスターの emr-header-1 ノードへのネットワークアクセス。Superset の Web UI は、そのノードへの SSH トンネルを介してのみアクセスできます。設定手順については、「オープンソースコンポーネントのWeb UIにアクセスするためのSSHトンネルの作成」をご参照ください。
制限事項
-
Superset は [emr-header-1] ノードでのみ実行され、高可用性 (HA) モードでデプロイすることはできません。
-
Knox を使用して Superset の Web UI にアクセスすることはできません。
Superset からの EMR Druid へのアクセス
Superset は EMR Druid と緊密に統合されています。SQL または Druid のネイティブクエリ言語を使用して Druid にクエリを実行できます。
ステップ1:Superset へのログイン
SSH トンネルを介して Superset の Web UI を開きます。デフォルトのユーザー名とパスワードはどちらも admin です。初回ログイン後、すぐにパスワードを変更してください。
初回ログイン時、Web UI は英語で表示されます。
ステップ2:EMR Druid クラスターの追加
-
Datasource > [Druid Clusters] を選択します。
-
アイコンをクリックします。 -
[Add Druid Cluster] ダイアログボックスで、次のパラメーターを設定します。
パラメーター 説明 [ブローカーホスト] emr-header-1と入力します。この値は固定です。[ブローカーポート] オープンソースのブローカーポート番号の先頭に 1を付加して入力します。たとえば、ブローカーポートが8082の場合は、18082と入力します。[クラスター名] EMR コンソールで作成した Druid クラスターの名前を入力します。 
-
Save をクリックします。
ステップ3:データソースの追加
-
Datasource > [Druid Datasources] を選択します。
-
アイコンをクリックします。 -
[Add Druid Datasource] ダイアログボックスで、次のパラメーターを設定します。
パラメーター 説明 [データソース名] データソースの名前を入力します。 [クラスター] 前のステップで追加した EMR Druid クラスターを選択します。 
-
Save をクリックします。保存後、
アイコンをクリックしてディメンション列とメトリクス列を指定します。
ステップ4:接続の確認
データソース名をクリックして、EMR Druid クラスターの詳細を表示します。
Superset からの Hive データベースへのアクセス
Superset は SQLAlchemy を使用して、MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Hive、Presto、Druid などのリレーショナルデータベースやビッグデータクエリエンジンに接続します。Hive は、EMR Hadoop クラスターにデフォルトでインストールされています。
サポートされている他のデータベースタイプについては、「SQLAlchemy ダイアレクトのドキュメント」をご参照ください。
ステップ1:Superset へのログイン
SSH トンネルを介して Superset の Web UI を開きます。デフォルトのユーザー名とパスワードはどちらも admin です。
ステップ2:Hive データベースの追加
-
Datasource > データベース を選択します。
-
アイコンをクリックします。 -
[Add Database] ダイアログボックスで、次のパラメーターを設定します。
パラメーター 説明 [データベース] データベース接続の名前を入力します。 [SQLAlchemy URI] hive://emr-header-1:10000/と入力します。
-
Save をクリックします。
ステップ3:テーブルの追加
-
Datasource > データテーブル を選択します。
-
アイコンをクリックします。 -
[Import a table definition] ダイアログボックスで、次のパラメーターを設定します。
パラメーター 説明 [データベース] 前のステップで追加したデータベースを選択します。 [テーブル名] そのデータベース内のテーブルの名前を入力します。この例では、 testという名前のテーブルを使用します。
-
Save をクリックします。
ステップ4:データのクエリ
-
[SQL Lab] > [SQL Editor] を選択します。
-
データベースとして [Hive JDBC Server] を選択します。
-
スキーマとして [default] を選択します。
-
Hive クエリを実行します。
よくある質問
admin ユーザーが初回ログイン時に "invalid login" と表示されます。
これは、V4.6 または V3.33 より前のマイナーバージョンの EMR クラスターで発生します。この問題を解決するには、マスターノードで root ユーザーとして次のコマンドを実行します。
-
SSH 経由でマスターノードにログインします。手順については、「クラスターへのログオン」をご参照ください。
-
Superset 環境を有効化します。
source /usr/lib/superset-current/bin/activate -
admin アカウントを作成します。
superset fab create-adminプロンプトに従って、ユーザー名、名、姓、メールアドレス、パスワード、確認用パスワードを入力します。デフォルト値は次のとおりです。
Username [admin]: User first name [admin]: User last name [user]: Email [admin@fab.org]: Password: Repeat for confirmation: -
データベースを初期化します。
superset db upgrade -
Superset を初期化します。
superset init
これらの手順が完了したら、SSH トンネルを作成し、作成したアカウントでログインします。