FineBIを使用してAnalyticDB for MySQLに接続し、フィルタリング、グループ化、列の追加、フィールドの設定、並べ替えなどの操作を使用して、視覚化された方法でデータを管理できます。 これにより、データ統合を容易かつ加速することができる。
前提条件
FineBIはAnalyticDB for MySQLと互換性があります。 詳細については、「互換性の概要」をご参照ください。
MySQL Connector/Jがインストールされています。
FineBI 5.0以降がインストールされています。 リアルタイムデータをサポートするバージョンをダウンロードする必要があります。 このようなバージョンは、AnalyticDB for MySQLエンジンへの直接接続をサポートしています。
FineBIを以前にインストールしたことがない場合、ApsaraDB RDS for MySQLなどのMySQLサーバーがインストールされ、FineBIメタデータがインポートされます。
インターネット経由でAnalyticDB for MySQLクラスターに接続する場合は、パブリックエンドポイントが適用されます。 詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
外部MySQLデータベースの設定
以前にFineBIをインストールして使用したことがある場合は、Connect to the AnalyticDB for MySQLデータベースから直接開始できます。
FineBIを開始します。
サーバーのURLをクリックし、指示に従ってアカウント設定を設定します。
[次のステップ] をクリックしてデータベースを選択します。 [外部データベース] セクションの [データベースの設定] をクリックします。
[外部データベース設定] ページで、ページの指示に従ってパラメーターを設定します。
説明AnalyticDB for MySQLデータベースではなく、MySQLデータベースに接続するためのパラメーターを指定する必要があります。
パラメーター
説明
データベースタイプ
データベースのエンジン。 ドロップダウンリストから [MySQL] を選択します。
ドライバー
ドライバーのタイプ。 ドロップダウンリストから
com.mysql.jdbc.Driver
を選択します。データベース名
FineBIメタデータがインポートされるデータベースの名前。 新しいデータベースを作成することもできます。 FineBIをMySQLサーバーに接続すると、
CREATE DATABASE finedb;
ステートメントが自動的に実行され、finedbデータベースが作成されます。ホスト
MySQLサーバーのアドレス。ローカルサーバーまたはリモートサーバーのアドレスです。
ポート番号
MySQLサーバーアドレスのポート番号。 デフォルトのポート番号は、3306 です。
ユーザー名
MySQLサーバーで作成されたアカウント。
Password
アカウントのパスワードを入力します。
URL
システムによって生成されたURL。
上記のパラメーターを設定した後、[新しいデータベースの有効化] をクリックしてFineBIメタデータをインポートします。
FineBIメタデータをインポートしたら、[ログイン] をクリックしてMySQLサーバーにログインします。
AnalyticDB for MySQLデータベースへの接続
FineBIを開始します。 左側のナビゲーションウィンドウで、 を選択します。
表示されるダイアログボックスで、AnalyticDB for MySQLデータベースのパラメーターを設定します。
パラメーター
説明
データ接続名
データベースエンドポイントの名前。 その後の管理を容易にするために、識別可能な名前を選択することを推奨します。
ドライバー
ドライバーのタイプ。 ドロップダウンリストから
com.mysql.jdbc.Driver
を選択します。データベース名
AnalyticDB for MySQLデータベースの名前。
ホスト
AnalyticDB for MySQLクラスターのパブリックエンドポイントまたはVPCエンドポイント。
AnalyticDB for MySQLコンソールの [クラスター情報] ページでエンドポイントを表示できます。 詳細は、「エンドポイント」をご参照ください。
ポート
3306.
ユーザー名
AnalyticDB for MySQLクラスターへの接続に使用されるアカウント。 次のアカウントタイプのいずれかを使用できます。
特権アカウント
標準アカウント
Password
AnalyticDB for MySQLクラスターへの接続に使用されるパスワード。
上記のパラメーターを設定した後、[テスト] をクリックして接続をテストします。 接続が成功したら、右上隅の [保存] をクリックします。
テーブルの作成
左側のナビゲーションウィンドウで、AnalyticDB for MySQL URLを選択し、テーブルタイプを選択し、その後のデータ分析とダッシュボード表示のためにデータセットをデータベースの意思決定システムに追加します。 を選択します。 以前に設定した
データベーステーブル: AnalyticDB for MySQLデータベースにテーブルを直接追加できます。
SQL datasets: SQL文を実行して、分析に必要なデータセットを生成できます。
セルフサービスデータセット: セルフサービスデータセットをデータベーステーブルまたはSQLデータセットに追加できます。
ベーステーブルのフィールドを選択します。 その後、フィルタリング、グループ化、要約、列の追加、マージなどの操作を実行できます。
例:
マーケットバスケット分析では、ユーザ消費データが分析され、異なる商品がそれらのつながりをマイニングするために関連付けられる。 次の例では、テーブルを作成してデータをインポートし、FineBIを使用してAnalyticDB for MySQLデータベースに接続し、のようにバスケット分析ダッシュボードを作成する方法を示します。
商品販売テーブルの概要テーブルのサンプルデータをダウンロードします。
AnalyticDB for MySQLデータベースにテーブルを作成します。
値が均等に分散されている列を配布キーとして使用し、値がTIME型である列をパーティションキーとして使用します。 詳細については、「スキーマデザイン」をご参照ください。
商品売上の要約テーブルのデータのいくつかの列は、文書番号によるそれらの分布が比較的ランダムであることを示しています。 JOIN操作は、ドキュメント番号に基づくマーケットバスケット分析で実行されます。 したがって、文書番号列がパーティションキーとして使用されます。 データはこの列にインポートされないため、レベル2パーティションとして選択されています。 ライフサイクルは100に設定されています。
次の文を実行して、テーブルを作成します。
のサマリーテーブル'テーブル 'demo_sales' を作成する ( 「日付」の日付、 「都市」varchar、 「ドキュメントノー」varchar、 「店舗名」varchar、 「商品クラス」varchar、 「商品名」varchar、 「地方」のvarchar、 「コスト」ダブル、 「総利益」は2倍 「量」ビギント、 「セール」ダブル、) ハッシュによる分配 (「ドキュメントNo」) PARTITION BY VALUE (「日付」) LIFECYCLE 100 INDEX_ALL='Y' STORAGE_POLICY='COLD' COMMENT='商品セール
テーブルの作成後、Kettleを使用して、ローカルデータをExcel形式でAnalyticDB for MySQLデータベースにインポートします。
Kettleの使用方法の詳細については、「Kettleを使用してdata Warehouse Editionにデータをインポートする」をご参照ください。
データがインポートされたら、
SELECT COUNT(*) FROM demo_orders
ステートメントを実行します。 40514エントリが返されます。
FineBIでセルフサービスデータセットを作成します。
ナビゲーションウィンドウで、
を選択します。 adbという名前のビジネスパッケージを追加します。ビジネスパッケージにセルフサービスデータセットを作成し、AnalyticDB connection_demo_salesフィールド (AnalyticDB for MySQLデータベースのdemo_salesテーブルのすべてのフィールド) を選択します。
FineBIドキュメントの例を参照してデータを追加し、必要なダッシュボードを生成します。
トラブルシューティング
初期化中に外部データベースは選択されません。 初期化後、外部データベースを設定します。
解決策:
データベースの意思決定システムを開始します。
を選択します。 [全般] タブで、[設定] をクリックします。外部データベースのパラメーターを入力します。
外部データベースの設定後、[新しいデータベースの有効化] をクリックします。
外部MySQLデータベースは設定されていますが、データのインポートは失敗します。
解決策:
MySQLデータベースのバージョンとエンコード方法を確認します。 詳細については、「外部MySQLデータベースの設定」をご参照ください。 FineBIはMySQL 5.xをサポートしています。
MySQLデータベースがutf8 (UTF-8ユニコード) 文字セットエンコードメソッドを使用しているかどうかを確認するか、
CREATE database finedb character set utf8
ステートメントを実行して新しいutf8-encodedデータベースを作成します。
外部AnalyticDB for MySQLデータベースは設定されていますが、接続に失敗します。
ソリューション: 外部データベースは、AnalyticDB for MySQLデータベースではなく、MySQLデータベースである必要があります。
データ準備階層ツリーでデータまたはリアルタイムデータを抽出するオプションはありません。
解決策: FineBI公式Webサイトからダウンロードしたバージョンは、AnalyticDB for MySQLデータベースへの直接接続をサポートしていません。 必要なバージョンを取得するには、FineBIテクニカルサポートエンジニアに連絡する必要があります。
データは、FineBIとAnalyticDB for MySQLデータベース間で同期されません。
解決策: 詳細については、「リアルタイムデータ」のセクション3.2をご参照ください。
データを更新してもデータは表示されません。
解決策: 1行にデータが表示されない場合、行の計算結果はnullになる可能性があります。 列全体にデータが表示されず、列で関数が使用されている場合、AnalyticDB for MySQLでは関数が互換性がない可能性があります。 AnalyticDB for MySQLのテクニカルサポートエンジニアにお問い合わせください。
データのプレビューや保存に失敗しました。
解決策:
まず、関数が列で使用されているかどうかを確認しますが、列データ型は関数でサポートされており、列データの変換後に無効な値が存在します。 たとえば、AnalyticDB For MySQLは、中国語の都市憲章を列に入力するとエラーを報告します。 AnalyticDB for MySQLは、数値フィールドの絶対値を見つけるために使用されます。 都市の中国憲章が数値に変換された場合、値は無効になります。
次の図に示すように、エラーメッセージに数字の文字列が含まれている場合、エラーがAnalyticDB for MySQLで報告されている可能性が高くなります。 トラブルシューティングのために、AnalyticDB for MySQLテクニカルサポートエンジニアに番号の文字列 (プロセスID) を提供できます。
エラーメッセージにエラーコードのみが含まれている場合、FineBIでエラーが報告される可能性が高くなります。