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