MongoSQL 言語(MongoSQL インターフェース を使用)を使用して、Looker を MongoSQL クラスタに直接接続します。Looker を MongoSQL に接続すると、リレーショナル SQL クエリを使用してドキュメント データを分析し、インタラクティブな Looker ダッシュボードを構築できます。
Looker には、MongoSQL インターフェース用の Apache-2.0 ライセンスの JDBC ドライバが公式にバンドルされています。従来の MongoBI 言語とは異なり、カスタムのアンパックされた JDBC ドライバ JAR ファイルを手動でインストールする必要はありません。
前提条件と MongoSQL の構成
Looker で接続を作成する前に、MongoSQL で次の構成手順を完了します。
- SQL Schema Builder を使用してリレーショナル スキーマを構築する
- Looker IP アドレスを Atlas IP アクセスリストに追加する
- Looker 用の MongoDB ユーザー アカウントを作成する
- Atlas SQL 接続パラメータを取得する
SQL Schema Builder を使用してリレーショナル スキーマを構築する
MongoDB は、柔軟な非リレーショナル ドキュメント形式(JSON/BSON)でデータを保存します。Looker が標準 SQL を使用して MongoDB コレクションにクエリを実行できるようにするには、MongoSQL の SQL Schema Builder を使用して SQL スキーマを構築する必要があります。
MongoSQL インターフェースは、SQL Schema Builder によって作成されたリレーショナル スキーマを使用して、ドキュメント構造、ネストされたフィールド、配列を標準 SQL テーブル、行、列にマッピングします。アクティブな SQL スキーマがない場合、SQL インターフェースは MongoDB コレクションに対する SQL クエリを変換できません。
Looker で接続を作成する前に、MongoSQL Schema Builder のドキュメントを参照して、表形式のスキーマを定義して公開してください。
MongoDB Enterprise オンプレミス インスタンスの場合は、MongoDB SQL Schema Builder CLI を使用してスキーマを定義します。
Looker IP アドレスを Atlas IP アクセスリストに追加する
MongoSQL は、クライアント接続を承認済みの IP アドレスに制限します。Looker インスタンスから MongoSQL にクエリを実行するには、次の手順で Looker IP アドレスを Atlas IP アクセスリストに追加する必要があります。
- Looker インスタンスのリージョンの Looker IP アドレスのリストを取得します。
- Atlas IP アクセスリストのドキュメントに沿って、これらの IP アドレスを Atlas プロジェクトの IP アクセスリストに追加します。
Looker 用の MongoDB ユーザー アカウントを作成する
MongoDB Atlas Web Console を使用して、次の手順で Looker のデータベース ユーザー アカウントを作成します。
- MongoDB Atlas Console にログインします。
- メイン ナビゲーション メニューの [セキュリティ] で、[データベース アクセス] を選択します。
- [新しいデータベース ユーザーを追加] をクリックします。
- 認証方法として [パスワード] を選択します。ユーザー名 (
lookerなど)と安全なパスワードを入力します。 - [データベース ユーザーの権限] で [組み込みロール] を選択し、Looker がアクセスするデータベースに
readロール(またはカスタム読み取り権限)を割り当てます。 - [ユーザーを追加] をクリックして、ユーザー認証情報を保存します。
Atlas SQL 接続パラメータを取得する
Looker 接続を作成するには、Atlas SQL 接続の接続パラメータを入力する必要があります。パラメータ情報は、次の手順で取得できます。
- MongoDB Atlas Console にログインします。
- クラスタに移動して [接続] をクリックします。
- [Atlas SQL](または [SQL を使用してアプリケーションを接続する])を選択します。
- [JDBC ドライバ] を選択します。
- 生成された ホスト 、ポート (通常は
27017)、データベース 、SSL 要件をメモします。これらの詳細は、Looker 接続を作成するときに入力します。
データベースへの Looker 接続を作成する
次の手順で、Looker から MongoSQL への接続を確立します。
- Looker の [**管理者**] セクションで [**接続**] を選択し、[**新しい接続**] をクリックします。
接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。設定の一部を次に説明します。他のすべてのフィールドはデフォルト値を使用するか、空白のままにします。
- 名前: 一意の接続名を入力します。
- 言語: プルダウン メニューから [MongoSQL] を選択します。
- ホスト: MongoSQL インターフェースから提供されるホスト名(
<cluster-name>.a.query.mongodb.netなど)。 - ポート: Atlas SQL のポート番号(デフォルト:
27017)。 - データベース: SQL Schema Builder を使用してスキーマを作成したデータベースの名前。
- ユーザー名: Looker 用に作成されたデータベースのユーザー名。
- パスワード: データベース ユーザーのパスワード。
- SSL: SSL を有効にします(
ssl=true)。 - その他の JDBC パラメータ: (省略可)MongoDB ドライバでサポートされている追加の JDBC パラメータ(
authSource=admin、connectTimeoutMS=10000など)。サポートされている JDBC パラメータをご覧ください。
データベース接続を確認するには、[接続をテスト] をクリックします。
Looker に [接続可能] と表示されたら、[接続] を押して接続を作成します。
これで、データベース接続が Looker の [接続] [管理] ページのリストに追加されます。
サポートされている JDBC パラメータ
MongoSQL 言語の場合、Looker は [その他の JDBC パラメータ] フィールドで次の JDBC パラメータをサポートしています。
appNameauthSourceclientinfoconnectTimeoutMSdirectConnectiondisableclientcacheextjsonmodeheartbeatFrequencyMSjournallocalThresholdMSmaxIdleTimeMSmaxWaitTimeMSreadPreferencereplicaSetretryReadsretryWritesserverSelectionTimeoutMSsocketTimeoutMSssltlstlsAllowInvalidHostnamestlsInsecurewwtimeoutMS
クエリの制限事項と SQL の動作
LookML モデルを構築し、SQL インターフェースを使用して MongoSQL にクエリを実行する場合は、次の言語の特性に注意してください。
- SQL Schema Builder の要件: 前提条件で説明したように、SQL クエリには、Atlas SQL Schema Builder で定義された事前構成済みのリレーショナル スキーマが必要です。
- 派生テーブル: 一時的な(標準)派生テーブルはサポートされていますが、永続的な派生テーブル(PDT)は対象外です。
- 日付とタイムスタンプの型:
dateデータ型はサポートされていません。標準的な方法として、日付はtimestampフィールドとして保存してモデル化します。 - タイムゾーン: MongoSQL インターフェースからアクセスされるすべてのタイムスタンプは UTC で処理されます。Looker は、MongoDB 接続のデータベース内でタイムゾーンを変換しません。
機能のサポート
一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。
MongoSQL は、Looker 26.14 の時点で、次の機能をサポートしています。
| 機能 | サポート対象 |
|---|---|
| Looker(Google Cloud コア) | |
| 対称集計 | |
| 派生テーブル | |
| 永続的な SQL 派生テーブル | |
| 永続的なネイティブ派生テーブル | |
| 安定したビュー | |
| クエリの強制終了 | |
| SQL ベースのピボット | |
| タイムゾーン | |
| SSL | |
| Subtotals | |
| JDBC の追加パラメータ | |
| 大文字と小文字の区別 | |
| ロケーション タイプ | |
| リストの種類 | |
| パーセンタイル | |
| 個別のパーセンタイル | |
| SQL Runner の表示プロセス | |
| SQL Runner の説明テーブル | |
| SQL Runner 表示インデックス | |
| SQL Runner Select 10 | |
| SQL Runner の数 | |
| SQL の説明 | |
| OAuth 2.0 認証情報 | |
| コンテキスト コメント | |
| 接続プーリング | |
| HLL スケッチ | |
| 集計テーブルの自動認識 | |
| 増分 PDT | |
| ミリ秒 | |
| マイクロ秒 | |
| マテリアライズド ビュー | |
| 前の期間との比較指標 | |
| Approximate Count Distinct | |
| データベース内分析モデル | |
| カスタム カレンダー |