セルフサービス Explore 機能を使用すると、Looker ユーザーは CSV、XLS、XLSX ファイルを Looker にアップロードし、LookML モデルを構成したり、Git バージョン管理を設定したりすることなく、Looker Explore でデータをクエリして可視化できます。
Looker 管理者は、Looker の [管理] メニューから [セルフサービス Explore] オプションを選択して、セルフサービス Explore 機能を構成し、インスタンスへのデータ アップロードを表示できます。
始める前に
セルフサービス Explore を使用するには、Looker インスタンスが次の要件を満たしている必要があります。
- BigQuery 接続の場合は Looker 25.20 以降、Snowflake 接続の場合は Looker 26.8 以降を実行している。
- BigQuery または Snowflake データベースに接続している。接続は次の方法で構成する必要があります。
- 接続は [すべてのプロジェクト] スコープで構成する必要があります。接続のスコープを確認するには、Looker 管理メニューの [接続] ページの [データベース] タブの [スコープ] 列を確認します。接続の作成後に接続の [プロジェクト スコープ] 値を編集することはできません。
- 接続で永続的な派生テーブル(PDT)を有効にする必要があります。接続で PDT が有効になっていることを確認するには、Looker の [接続] ページを開き、接続の [編集] ボタンをクリックして [オプション設定] タブを開き、[PDT を有効にする] 切り替えボタンがオンになっていることを確認します。
- OAuth で 認証を使用する BigQuery 接続の場合、アップロードされたデータを表示するには、スクラッチ スキーマ内のテーブルを表示する権限が必要です。この構成は、OAuth 接続で永続的な派生テーブル(PDT)を使用するためにユーザーに必要な構成と同じです。
- Snowflake 接続の場合、データベース管理者は Looker ロールに
CREATE STAGEを付与する必要があります。詳細については、Snowflake への Looker 接続を作成するのドキュメント ページをご覧ください。 - セルフサービス Explore を作成するユーザーの場合、Looker ユーザー アカウントに
upload_data権限が必要です。この権限により、ユーザーは CSV ファイルをインスタンスにアップロードできます。
Google スプレッドシートからデータをアップロードする場合、次の制限事項に注意してください。
- Private Service Connect を使用する Looker(Google Cloud コア)インスタンスでは、Google スプレッドシートのアップロードの OAuth フローはサポートされていません。これらのインスタンスでは、手動 URL フローを使用して Google スプレッドシートからデータをアップロードする必要があります。
- VPC Service Controls を使用する Looker(Google Cloud コア)インスタンスでは、Google スプレッドシートのアップロードはサポートされていません。
セルフサービス Explore を有効にする
ユーザーがセルフサービス Explore を作成できるようにするには、Looker 管理者が次の手順で機能を構成する必要があります。
- Looker の [管理] メニューの [一般] セクションで、[セルフサービス Explore] 管理ページを選択します。
- [セルフサービス Explore] 管理ページで、ユーザーがデータ アップロード用に複数の接続から選択できるようにする場合は、[高度な接続ガバナンス] オプションを有効にします。詳細については、高度な接続ガバナンスのセクションをご覧ください。
- セルフサービス アップロード用に 1 つ以上の接続を構成します。
- [単一のデフォルト接続] が有効になっている場合: [デフォルトの接続] プルダウン メニューから、セルフサービス Explore のデータの保存に使用する接続を選択します。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 は、 [**セルフサービス Explore**] 管理ページの [**デフォルトの接続**] プルダウン メニューで指定された BigQuery 接続をホストする Google Cloud プロジェクトで有効にする必要があります。
- BigQuery API: すべての BigQuery オペレーションに必要
これらの API は、データのアップロードに使用されるサービス アカウントに関連付けられている Google Cloud プロジェクトで有効にする必要があります(BigQuery 接続で PDT プロセスに使用されるサービス アカウント。これは、 Google Cloud プロジェクトが [デフォルトの接続]プルダウン メニューの [セルフサービス Explore]管理ページで指定されたプロジェクトと同じ場合もあれば、異なる場合もあります)。
- BigQuery API: すべての BigQuery オペレーションに必要
- Google Sheets API: Google スプレッドシート ドキュメント内の各シートの名前を取得するために必要
- Google Drive API: BigQuery がドライブからファイルを読み取るために必要
API を有効にする手順は次のとおりです。
Google Cloud コンソールの [プロジェクト選択ツール] で、[セルフサービス Explore] 管理ページの [デフォルトの接続] プルダウン メニューで指定された BigQuery 接続をホストするプロジェクトを選択します。
コンソールの Google Cloud ナビゲーション メニューで、[API とサービス] > [ライブラリ] に移動し、BigQuery API を開きます。
BigQuery API ページで、API がまだ有効になっていない場合は、[有効にする] をクリックします。
BigQuery API ページで、 Google Cloud コンソールの [プロジェクト選択ツールを開く] から、 Google Cloud データのアップロードに使用されるサービス アカウント(BigQuery 接続で PDT プロセスに使用されるサービス アカウント)に関連付けられているプロジェクトを選択します。
BigQuery API ページで、API がまだ有効になっていない場合は、[有効にする] をクリックします。
コンソールの Google Cloud ナビゲーション メニューで、[API とサービス] > [ライブラリ] に移動し、Google Sheets API を開きます。
Google Sheets API ページで、API がまだ有効になっていない場合は、[有効にする] をクリックします。
コンソールのナビゲーション メニューで、 Google Cloud [API とサービス] > [ライブラリ] に移動し、Google Drive API を開きます。
Google Drive API ページで、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 を有効にする
セルフサービス Explore を有効にし、Google スプレッドシートのアップロードをサポートする API を有効にして、[Google スプレッドシートのデータ インポート] 切り替えボタンを有効にすると、ユーザーは Google ドライブ ナビゲーションを使用して、データ アップロード用の Google スプレッドシート ドキュメントを選択することもできます。
Looker インスタンスで Google ドライブ ナビゲーションを有効にするには、必要なロールを持つ IAM ユーザーが Google Cloud コンソールで OAuth クライアントを作成し、このセクションの手順で説明するように、Looker インスタンスの [セルフサービス Explore] 管理ページに OAuth 認証情報を入力する必要があります。
OAuth クライアントを作成して Looker インスタンスに認証情報を入力する手順は次のとおりです。
Google Cloud コンソールで、 Google Cloud コンソールの [**プロジェクト選択ツールを開く**] を使用して、データのアップロードに使用されるサービス アカウント(BigQuery 接続で PDT プロセスに使用されるサービス アカウント)に関連付けられている Google Cloud プロジェクトを選択します。
コンソールの 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 インスタンスで、[管理] パネルの [一般] セクションから [セルフサービス Explore] を選択します。
[セルフサービス Explore] ページの [クライアント ID] フィールドと [クライアント シークレット] フィールドに、 Google Cloud コンソールで OAuth クライアントを作成したときに Google Cloud コンソールからコピーした値を貼り付けます。
[保存] をクリックします。
[Google スプレッドシートのデータ インポート] 切り替えボタンの横にある [テスト] ボタンをクリックして、Google スプレッドシートのアップロード構成に加えて OAuth 構成をテストします。([データ アップロード] 切り替えボタンの横にある [テスト] ボタンをクリックして、Google スプレッドシートの構成に加えて接続を確認することもできます)。
ユーザーが [**クラウドからインポート**] オプションを使用してデータをアップロードすると、Looker に Google スプレッドシート ドキュメントを選択するための Google ドライブ ナビゲーションが表示されます。
高度な接続ガバナンス
デフォルトでは、セルフサービス Explore は、Looker 管理者が指定した単一のデフォルト データベース接続に保存されます。ただし、[セルフサービス Explore] 管理ページで [高度な接続ガバナンス] オプションを有効にすると、セルフサービス Explore データを保存するために複数のデータベース接続でインスタンスを構成できます。[高度な接続ガバナンス] では、許可された接続に対する権限を持つユーザーのみが、アップロードしたデータの保存とクエリを行うためにその接続を選択できます。
複数の接続を有効にする
[高度な接続ガバナンス] が有効になっている場合、[セルフサービス Explore] 管理ページに [接続] テーブルが表示されます。このテーブルには、セルフサービス Explore の要件を満たすインスタンス上のすべてのデータベース接続が一覧表示されます。この表から、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 を開くハイパーリンクでもあります。
- データ アップロードのオーナー
- データがアップロードされた日付
- Looker 管理者がファイル アップロードとそれに関連付けられたセルフサービス Explore を削除できる [削除] ボタン
Looker 管理者は、[データ アップロード] テーブルのリンクを使用して、インスタンス上の任意のセルフサービス Explore を開くことができます。ただし、Looker の [Explore] メニューの [セルフサービス Explore] セクションには、自分が所有しているセルフサービス Explore、またはオーナーが明示的に共有しているセルフサービス Explore のみが表示されます。Looker 管理者にとって、インスタンス上のすべてのセルフサービス Explore が [Explore] メニューに表示されると、[Explore] メニューが煩雑になる可能性があるため、[Explore] メニューには表示されません。
データ アップロードを削除する
データ アップロードのオーナーは、[**セルフサービス Explore を編集**] ページからアップロードを削除できます。また、Looker 管理者は、次の手順で [セルフサービス Explore] 管理ページからデータ アップロードを削除できます。
- Looker の [管理] メニューの [一般] セクションで、[セルフサービス Explore] 管理ページを選択します。
- [データ アップロード] テーブルで、削除するデータ アップロードの [削除] ボタンをクリックします。
- 確認ダイアログで [削除] をクリックします。