セルフサービス Explore 機能を使用すると、Looker ユーザーは CSV、XLS、XLSX ファイルをアップロードしたり、Google スプレッドシートをインポートしたり、データベース テーブルに直接接続して Looker Explore でデータをクエリして可視化したりできます。LookML モデルを構成したり、Git バージョン管理を設定したりする必要はありません。
Looker 管理者は、Looker の [管理] メニューから [セルフサービス Explore] オプションを選択して、セルフサービス Explore 機能を構成し、インスタンスのセルフサービス データソースを表示できます。[セルフサービス エクスプローラ] 管理ページには、次のタブがあります。
- データベース テーブル: [データベース テーブルへの接続を許可する] オプションを有効にして、ユーザーがビジュアル モデリング キャンバスを使用してデータベース テーブルからデータモデルを構築できるようにします。
- アップロードとインポート: セルフサービス データ アップロード用のデータベース接続を構成し、Google スプレッドシートのデータ インポートを有効にして、Google スプレッドシートの OAuth 認証情報を設定します。
- 監査履歴: [データソース] テーブルを使用して、インスタンスのセルフサービス探索を表示および管理します。
始める前に
セルフサービス探索を使用するには、Looker インスタンスが次の要件を満たしている必要があります。
- BigQuery 接続の場合は Looker 25.20 以降、Snowflake 接続の場合は Looker 26.8 以降、ビジュアル モデリング キャンバスを使用してデータベース テーブルに接続する場合は Looker 26.14 以降を実行している。
- BigQuery または Snowflake データベースへの接続があり、接続が次の方法で構成されている必要があります。
- 接続は [すべてのプロジェクト] スコープで構成する必要があります。接続のスコープを確認するには、Looker 管理メニューの [接続] ページの [データベース] タブの [スコープ] 列をご覧ください。接続の作成後に、接続の [プロジェクト スコープ] の値を編集することはできません。
- 永続的な派生テーブル(PDT)に対して接続が有効になっている必要があります。接続で PDT が有効になっていることを確認するには、Looker の [接続] ページを開き、接続の [編集] ボタンをクリックして [オプション設定] タブを開き、[PDT を有効にする] 切り替えボタンがオンになっていることを確認します。
- OAuth による認証を使用する BigQuery 接続の場合、アップロードされたデータを表示するには、ユーザーにスクラッチ スキーマ内のテーブルを表示する権限が必要です。この構成は、ユーザーが OAuth 接続で永続的な派生テーブル(PDT)を使用するために必要な構成と同じです。
- Snowflake 接続の場合、データベース管理者は Looker ロールに
CREATE STAGEを付与する必要があります。詳細については、Snowflake への Looker 接続の作成に関するドキュメント ページをご覧ください。 - アップロードしたファイルからセルフサービス Explore を作成するユーザーの Looker ユーザー アカウントには、
upload_data権限が必要です。データベース テーブルからセルフサービス探索を作成するユーザーの場合、ユーザー アカウントにcreate_self_service_from_table権限が必要です。
Google スプレッドシートからデータをアップロードする際の制限事項は次のとおりです。
- Private Service Connect を使用する Looker(Google Cloud コア)インスタンスは、Google スプレッドシートのアップロードの OAuth フローをサポートしていません。これらのインスタンスでは、手動 URL フローを使用して Google スプレッドシートからデータをアップロードする必要があります。
- VPC Service Controls を使用する Looker(Google Cloud コア)インスタンスは、Google スプレッドシートのアップロードをサポートしていません。
セルフサービス Explore を有効にする
データベース テーブルへの接続を有効にする
ユーザーがデータベース テーブルに直接接続し、ビジュアル モデリング キャンバスを使用してモデルを構築できるようにするには、次の操作を行います。
- Looker の [管理者] メニューの [全般] セクションで、[セルフサービス分析] 管理ページを選択します。
- [セルフサービス分析] 管理ページで、[データベース テーブル] タブを選択します。
- [データベース テーブルへの接続を許可する] オプションをオンにします。
ファイルのアップロードと Google スプレッドシートのインポートを有効にする
ユーザーがファイルをアップロードしたり、Google スプレッドシートをインポートしてセルフサービス Explore を作成したりできるようにするには、Looker 管理者が次の手順で [アップロードとインポート] タブで機能を構成する必要があります。
- Looker の [管理者] メニューの [全般] セクションで、[セルフサービス分析] 管理ページを選択し、[アップロードとインポート] タブを開きます。
- ユーザーがデータ アップロード用に複数の接続から選択できるようにするには、[高度な接続ガバナンス] オプションを有効にします。詳細については、高度な接続ガバナンスのセクションをご覧ください。
- セルフサービス アップロード用に 1 つ以上の接続を構成します。
- [単一のデフォルト接続] が有効になっている場合: [デフォルトの接続] プルダウン メニューから、セルフサービス探索のデータの保存に使用する接続を選択します。Looker は、インスタンスのセルフサービス Explore 用にこのデータベースにデータを保存します。
- 高度な接続ガバナンスが有効になっている場合: [接続] テーブルで、セルフサービス アップロードに使用する接続を見つけ、データ アップロードをサポートする各接続の [データ アップロードの有効化] の切り替えを有効にします。ユーザーがセルフサービス Explore を作成すると、Looker は、ユーザーがアクセスできる有効な接続のリストから選択し、指定したデータベースにデータを保存できるようにします。
[テスト] ボタンをクリックして、接続構成を確認します。
- [単一のデフォルト接続] が有効になっている場合: [データ アップロード] 切り替えボタンの横にある [テスト] ボタンをクリックして、デフォルトの接続が有効であり、永続的な派生テーブル(PDT)で接続が有効になっていることを確認します(接続の要件については、始める前にのセクションをご覧ください)。
- 高度な接続ガバナンスが有効になっている場合: [接続] テーブルで、有効になっている各接続の横にある [テスト] ボタンをクリックします。
テストが失敗した場合、その接続でデータアップロードを有効にすることはできません。接続の管理ページに移動して、接続のトラブルシューティングを行います。
テストに合格したら、[データのアップロード] 切り替えボタンをオンにして、セルフサービス Explore 機能を有効にします。
Looker インスタンスで Google スプレッドシートからのデータのアップロードをサポートする場合は、次の操作を行います。
- セルフサービス Explore 用の BigQuery 接続が構成されていることを確認します(Google スプレッドシートのアップロードは BigQuery 接続でのみサポートされています)。
- Google Cloud コンソールを使用して、Google スプレッドシートのアップロードをサポートするために必要な API を有効にします。
- ユーザーが Google ドライブのナビゲーションを使用してデータ アップロード用の Google スプレッドシート ファイルを選択できるようにする場合は、必要に応じて Google スプレッドシートのアップロードで OAuth を有効にします。
- Google スプレッドシートのアップロードをテストして有効にする:
- [単一のデフォルト接続] が有効になっている場合: [Google スプレッドシートのデータ インポート] 切り替えの横にある [テスト] ボタンをクリックして、Google スプレッドシートのアップロードの接続をテストします。テストに合格したら、[Google スプレッドシートのデータ インポート] 切り替えを有効にします。
- 高度な接続ガバナンスが有効になっている場合: Google スプレッドシートのアップロードで有効にする接続ごとに、[接続] テーブルの [Google スプレッドシートのインポート] の [テスト] ボタンをクリックします。接続のテストに合格したら、接続の [Google スプレッドシートのインポート] 切り替えを有効にします。(Google スプレッドシートからデータをアップロードするには、[データのアップロード] 切り替えと [Google スプレッドシートのインポート] 切り替えの両方が有効になっている必要があります)。
Google スプレッドシートのアップロードをサポートする API を有効にする
Looker が BigQuery 接続用の Google スプレッドシートからのデータ アップロードをサポートできるようにするには、IAM roles/serviceusage.serviceUsageAdmin ロールを持つ IAM ユーザーが Google Cloud コンソールで次の API を有効にする必要があります。
この API は、[セルフサービス エクスプローラ] 管理ページの [デフォルトの接続] プルダウン メニューで指定された BigQuery 接続をホストする Google Cloud プロジェクト(または、[高度な接続ガバナンス] で [Google スプレッドシートのインポート] が有効になっている BigQuery 接続をホストする Google Cloud プロジェクト)で有効にする必要があります。
- BigQuery API: すべての BigQuery オペレーションに必要
これらの API は、データのアップロードに使用されるサービス アカウントに関連付けられている Google Cloud プロジェクトで有効にする必要があります(BigQuery 接続の PDT プロセスに使用されるサービス アカウント。BigQuery 接続をホストする Google Cloud プロジェクトと同じ場合もあれば、異なる場合もあります)。
- BigQuery API: すべての BigQuery オペレーションに必要
- Google Drive API: BigQuery がドライブからファイルを読み取るために必要
この API は、ユーザーが Google スプレッドシート ドキュメントにアクセスするための認証方法に応じて、データをアップロードするために使用されるサービス アカウントに関連付けられている Google Cloud プロジェクト、または OAuth クライアント ID 認証情報を所有する Google Cloud プロジェクトのいずれかで有効にする必要があります。
- Google Sheets API: Google スプレッドシート ドキュメント内の各シートの名前を取得するために必要
API を有効にする手順は次のとおりです。
Google Cloud コンソールのプロジェクト選択ツールを開き、[セルフサービス分析] 管理ページの [デフォルトの接続] プルダウン メニューで指定されている BigQuery 接続(または [高度な接続ガバナンス] で Google スプレッドシートのインポートが有効になっている接続)を含むプロジェクトを選択します。
Google Cloud コンソールのナビゲーション メニューで、[API とサービス > ライブラリ] に移動し、BigQuery API を開いて、まだ有効になっていない場合は BigQuery API を有効にします。
BigQuery API ページで、 Google Cloud コンソールのプロジェクト選択ツールを開き、データのアップロードに使用するサービス アカウント(BigQuery 接続の PDT プロセスに使用するサービス アカウント)に関連付けられている Google Cloud プロジェクトを選択します。BigQuery API がまだ有効になっていない場合は、有効にします。
Google Cloud コンソールのナビゲーション メニューで、[API とサービス] > [ライブラリ] に移動し、Google Drive API を開いて、まだ有効になっていない場合は Google Drive API を有効にします。
Google Cloud コンソールのナビゲーション メニューで、[API とサービス] > [ライブラリ] に移動して、Google Sheets API を開きます。実装でサポートするアップロード フローに応じて、次のいずれかまたは両方のプロジェクトで Google Sheets API を有効にします。
- ユーザーが OAuth 認証による Google ドライブ ナビゲーションを使用して Google スプレッドシートからデータをアップロードする場合は、OAuth クライアント ID 認証情報を所有する Google Cloud プロジェクトで Google Sheets API を有効にする必要があります。これは、 Google Cloud が OAuth クライアント ID のプロジェクトに対して API の有効化と割り当てを評価するためです。
ユーザーが サービス アカウント認証による手動 URL フローを使用して Google スプレッドシートからデータをアップロードする場合は、データのアップロードに使用されるサービス アカウントに関連付けられている Google Cloud プロジェクトで Google Sheets API を有効にする必要があります。
Private Service Connect インスタンスの構成
Looker(Google Cloud コア)インスタンスで Private Service Connect(PSC)を使用している場合は、Google スプレッドシートのアップロードをサポートするために追加の手順を行う必要があります。
Looker が Google Sheets API にアクセスできるようにするには、Private Service Connect を使用して Google スプレッドシートをサービスとして公開し、Looker(Google Cloud コア)構成の [ローカル FQDN] 設定に Google スプレッドシートを追加する必要があります。ローカル FQDN を構成する場合は、[ローカル FQDN] フィールドに sheets.googleapis.com を使用し、[ターゲット サービス アタッチメント URI] フィールドに公開サービスのサービス アタッチメント URI を使用します。手順については、ローカル FQDN を使用して公開サービスに接続するをご覧ください。
Google スプレッドシートのアップロードで OAuth を有効にする
セルフサービス探索を有効にし、Google スプレッドシートのアップロードをサポートする API を有効にし、Google スプレッドシートのデータ インポートの切り替えを有効にすると、ユーザーが Google ドライブのナビゲーションを使用してデータ アップロード用の Google スプレッドシート ドキュメントを選択できるようになります。
Looker インスタンスで Google ドライブのナビゲーションを有効にするには、必要なロールを持つ IAM ユーザーが、 Google Cloud コンソールで OAuth クライアントを作成し、このセクションの手順で説明するように、Looker インスタンスの [セルフサービス分析] 管理ページに OAuth 認証情報を入力する必要があります。
OAuth クライアントを作成して Looker インスタンスに認証情報を入力する手順は次のとおりです。
Google Cloud コンソールで、 Google Cloud コンソールのプロジェクト選択ツールを開くを使用して、OAuth クライアントを作成する Google Cloud プロジェクトを選択します。このプロジェクトは、データのアップロードに使用されるサービス アカウント(BigQuery 接続の PDT プロセスに使用されるサービス アカウント)に関連付けられている Google Cloud プロジェクトと同じでも、別の Google Cloud プロジェクトでもかまいません。OAuth クライアントを所有する Google Cloud プロジェクトで Google Sheets API が有効になっていることを確認します。
Google Cloud コンソールのメインメニューで、[API とサービス] > [認証情報] に移動します。
[認証情報] ページで、[認証情報を作成] プルダウン メニューをクリックし、[OAuth クライアント ID] を選択します。
[アプリケーションの種類] プルダウンで、[ウェブ アプリケーション] を選択します。
[名前] フィールドに、OAuth クライアントの名前(
Looker upload data from Sheetsなど)を入力します。[承認済みの JavaScript 生成元] セクションで、[URI を追加] ボタンをクリックします。Looker インスタンスの URL を入力します。
https://LOOKER_INSTANCE_URL[作成] をクリックします。
[作成] をクリックすると、[OAuth クライアントを作成しました] ウィンドウが表示されます。このウィンドウには、 Google Cloud コンソールが OAuth クライアント用に作成したクライアント ID とクライアント シークレットが表示されます。これらの値をコピーしてメモします。
Looker インスタンスで、[管理者] パネルの [全般] セクションから [セルフサービス分析] を選択します。
[セルフサービス分析] ページで、[アップロードとインポート] タブを選択し、[クライアント ID] フィールドと [クライアント シークレット] フィールドに、 Google Cloud コンソールで OAuth クライアントを作成したときに Google Cloud コンソールからコピーした値を貼り付けます。
[保存] をクリックします。
[Google スプレッドシートのデータ インポート] 切り替えの横にある [テスト] ボタンをクリックして、Google スプレッドシートのアップロード設定に加えて OAuth 構成をテストします。([データ アップロード] 切り替えの横にある [テスト] ボタンをクリックして、Google スプレッドシートの構成に加えて接続を確認することもできます)。
ユーザーが [クラウドからインポート] オプションを使用してデータをアップロードすると、Looker に Google スプレッドシート ドキュメントを選択するための Google ドライブ ナビゲーションが表示されます。
高度な接続ガバナンス
デフォルトでは、セルフサービス Explore は、Looker 管理者が指定した単一のデフォルト データベース接続に保存されます。ただし、[セルフサービス探索] 管理ページで [高度な接続ガバナンス] オプションを有効にすると、セルフサービス探索データを保存するために複数のデータベース接続でインスタンスを構成できます。[高度な接続ガバナンス] では、許可された接続に対する権限を持つユーザーのみが、アップロードされたデータの保存とクエリを行う接続を選択できます。
複数の接続を有効にする
[高度な接続ガバナンス] が有効になっている場合、[セルフサービス探索] 管理ページに、セルフサービス探索の要件を満たすインスタンスのすべてのデータベース接続を一覧表示する [接続] テーブルが表示されます。Looker 管理者は、この表から各接続に対して次の操作を行うことができます。
- [データ アップロードの有効化] 列(ファイルのアップロードの場合)と [Google スプレッドシートのインポート] 列(Google スプレッドシートのアップロードの場合)の切り替えを使用して、特定のアップロード フローを有効または無効にします。
- [データ アップロードの有効化] 列の [テスト] ボタンをクリックして、接続の有効性と永続的な派生テーブル(PDT)のステータスをテストし、Google スプレッドシートのアップロードの構成の接続をテストします。
アップロード中の接続の選択
ユーザーが [データソースの作成] ダイアログの [ローカルからアップロード] タブまたは [クラウドからインポート] タブを使用してデータ アップロードを開始すると、最初の手順として接続を選択します。ユーザーは、許可された接続のプルダウン リストから選択できます。Looker はこのリストをフィルタリングし、ユーザーが upload_data 権限を持つモデルで使用するように構成された接続のみを表示するようにします。ユーザーは他の接続にデータをアップロードできません。
ユーザー権限と接続アクセス
[高度な接続ガバナンス] では、セルフサービス データ アップロードへの継続的なアクセスは、基盤となるデータベース接続に厳密にバインドされます。
- 既存のアップロードへの継続的なアクセス: 作成後のデータ アップロードに対するほとんどのユーザー アクションでは、基盤となる接続への継続的なアクセスが必要です。データベース接続へのユーザーのアクセス権が取り消されると、そのユーザーは、その接続を使用するセルフサービス Explore を表示、クエリ、編集したり、共有したりできなくなります。これは、そのユーザーが元々データをアップロードしたユーザーであっても同様です。接続に引き続きアクセスできる他のユーザーは、セルフサービス Explore を引き続き使用できます。
- クエリへのアクセス: セルフサービス Explore へのクエリ アクセスを継続するには、そのアップロードの基盤となるデータベース接続を使用するように構成された少なくとも 1 つの LookML モデルに対する
access_data権限が必要です。 - セルフサービス Explore の共有: ユーザーは、そのアップロードの基盤となるデータベース接続を使用するように構成された LookML モデルに対する
access_data権限を持つ他のユーザーまたはグループとのみ、セルフサービス Explore を共有できます。
管理者の権限
Looker 管理者(Looker 管理者ロールが割り当てられているユーザー)は、インスタンス上のすべてのモデルに対する upload_data 権限を持っていると見なされます。管理者は Looker インスタンスに存在するデータソースを確認できますが、セルフサービス Explore を表示または編集するには、その特定のセルフサービス モデルへのアクセス権を持つロールを付与する必要があります。
高度な接続ガバナンスを無効にする
以前に有効にしたインスタンスで高度な接続ガバナンスを無効にする場合は、次の点に注意してください。
- 寛容な認可: 認可モデルがより寛容になります。接続レベルのガバナンスが適用されなくなったため、セルフサービス データ アップロードをインスタンスの任意のユーザーと共有できます。
- クエリへのアクセス: ユーザーは、高度な接続ガバナンスが無効になる前にアクセス権を持っていた既存のセルフサービス データ アップロードに対して、引き続きクエリを実行できます。
- ロールの変更: 接続ガバナンス制御が無効になります。つまり、今後のロールや権限の変更によって、既存のセルフサービス データ アップロードへのアクセスが制限されることはありません。
- デフォルトの接続要件: [高度な接続ガバナンス] がオフの場合、ユーザーは [デフォルトの接続] プルダウン メニューで選択されている単一の接続にのみデータをアップロードできます。高度な接続ガバナンスが有効になっている間にインスタンスでセルフサービス アップロードのみを使用していた場合、デフォルトの接続がまだ選択されていない可能性があります。セルフサービス アップロードを運用状態に戻すには、Looker 管理者がデフォルトの接続を選択してテストする必要があります。
Looker インスタンスのデータソースを表示する
インスタンスでセルフサービス Explore が有効になっている場合、Looker 管理者は [セルフサービス Explore] 管理ページの [監査履歴] タブを選択して、[データソース] テーブルを表示できます。このテーブルには、ユーザーがインスタンスで作成したセルフサービス Explore が一覧表示されます。
[データソース] テーブルには、インスタンスのセルフサービス データソースに関する次の情報が表示されます。
- セルフサービス Explore の名前。セルフサービス Explore を開くハイパーリンクにもなっています。
- データソースのオーナー
- データソースが作成された日付
- Looker 管理者がデータソースとそれに関連付けられたセルフサービス Explore を削除できる [削除] ボタン
Looker 管理者は、[データソース] テーブルのリンクを使用して、インスタンス上の任意のセルフサービス Explore を開くことができます。ただし、Looker の [データ探索] メニューの [セルフサービス データ探索] セクションには、自分が所有しているセルフサービス データ探索、またはオーナーが自分と明示的に共有しているセルフサービス データ探索のみが表示されます。Looker 管理者にとって [Explore] メニューが煩雑になる可能性があるため、[Explore] メニューには、インスタンス上のすべてのセルフサービス Explore が表示されるわけではありません。
データソースの削除
データソースのオーナーは、[セルフサービス Explore を編集] ページからデータソースを削除できます。また、Looker 管理者は、次の手順で [セルフサービス Explore] 管理ページからデータソースを削除できます。
- Looker の [管理者] メニューの [全般] セクションで、[セルフサービス分析] 管理ページを選択します。
- [監査履歴] タブを選択します。
- [データソース] テーブルで、削除するデータソースの [削除] ボタンをクリックします。
- 確認ダイアログで [Copy] をクリックします。