概要
このページでは、Looker で Google BigQuery 標準 SQL または Google BigQuery レガシー SQL への接続を設定する方法について説明します。
Google BigQuery 標準 SQL または Google BigQuery レガシー SQLの接続を設定する一般的な手順は次のとおりです。
BigQuery データベースで、Looker が BigQuery データベースへのアクセスに使用する認証を構成します。Looker は、BigQuery に対して次の認証オプションをサポートしています。
- サービス アカウント: 詳細については、このページの BigQuery サービス アカウントによる認証をご覧ください。
- OAuth: 詳細は、このページの OAuth での認証 セクションをご覧ください。
BigQuery データベースで、接続で永続的な派生テーブル(PDT)を使用する場合は、Looker がデータベースで PDT を作成するために使用できる一時データセットを作成します。手順については、このページの永続的な派生テーブルの一時データセットの作成をご覧ください。
Looker で、BigQuery データベースへの Looker 接続を設定します。手順については、このページの Looker を BigQuery に接続するをご覧ください。
Looker で、Looker と BigQuery データベース間の接続をテストします。手順については、このページの接続をテストするをご覧ください。
BigQuery サービス アカウントによる認証
Looker が BigQuery データベースに対する認証を行う方法の 1 つは、BigQuery サービス アカウントを使用することです。BigQuery データベースでサービス アカウントを作成するには、Google Cloud コンソールの API Manager を使用します。サービスアカウントを作成するには、Google Cloudの管理者権限が必要です。Google では、サービス アカウントの作成と秘密鍵の生成に関するドキュメントを提供しています。
サービスアカウントの作成および JSON 資格情報のダウンロード
BigQuery サービス アカウントを作成するには、次の手順に従います。
Google Cloud コンソールの API Manager で認証情報ページを開き、プロジェクトを選択します。
[認証情報を作成] を選択し、[サービス アカウント] を選択します。
新しいサービス アカウントの名前を入力し、必要に応じて説明を追加して、[作成して続行] を選択します。
サービス アカウントには、Google BigQuery の事前定義ロールが 2 つ必要です。
- BigQuery > BigQuery データ編集者
- BigQuery > BigQuery ジョブユーザー
[ロールを選択] フィールドで最初のロールを選択し、[別のロールを追加] を選択して、2 番目のロールを選択します。
両方のロールを選択したら、[続行] を選択して [完了] を選択します。
[認証情報] ページで、新しいサービス アカウントを選択します。
[キー]、[キーを追加] を選択し、プルダウンで [新しいキーを作成] を選択します。
[キーのタイプ] で [JSON] を選択し、[作成] を選択します。
JSONキーがコンピュータに保存されます。
ダウンロード先をメモしたら、[閉じる] を選択します。
[完了] を選択します。
サービス アカウントに対応するメールアドレスを見つけます。このアドレスは、Looker から BigQuery への接続を構成するうえで必要となります。
BigQuery データベースでサービス アカウントを作成したら、BigQuery への Looker 接続を設定するときに、このサービス アカウント情報と証明書ファイルの詳細を、Looker の [Connections] ウィンドウの [Service Account Email]、[Service Account JSON/P12 File]、[Password] フィールドに入力します。
OAuth による認証
Looker では Google BigQuery 接続に対して OAuth がサポートされています。つまり、各 Looker ユーザーは各自の Google OAuth 認証情報を使用して Google に認証でき、データベースへのアクセスを Looker に許可できます。
OAuth を使用すると、データベース管理者が次の機能を実行できます。
- データベースに対してどの Looker ユーザーがクエリを実行しているかを監査する
- Google の権限を使用したロールベースのアクセス制御を実施する
- Google BigQuery にアクセスするすべてのプロセスとアクション用に、複数の場所に BigQuery ID とパスワードを埋め込む代わりに OAuth トークンを使用する
OAuth を使用した BigQuery 接続について以下の点に注意してください。
- データベース管理者が BigQuery OAuth クライアント認証情報を変更すると、ユーザーが所有するすべてのスケジュールやアラートに影響がおよびます。管理者が BigQuery OAuth 認証情報を変更した場合、ユーザーは再ログインする必要があります。Looker の [Account] ページからユーザー プロフィール アカウント ページにアクセスして Google にログインすることもできます。
- OAuth を使用する BigQuery 接続は「ユーザーごと」であり、キャッシュ ポリシーもまたクエリごとではなくユーザーごとです。つまり、Looker ではキャッシュ期間内に同じクエリが実行された場合、キャッシュに保存された結果を常に使用するのではなく、キャッシュ期間内に同一ユーザーが同じクエリを実行した場合にのみ、キャッシュ保存された結果が使用されます。キャッシュについて詳しくは、クエリのキャッシングのドキュメント ページをご覧ください。
- OAuth による BigQuery 接続で永続的な派生テーブル(PDT)を使用する場合は、Looker が PDT プロセス用にデータベースにアクセスするための追加のサービス アカウントを作成する必要があります。詳細については、このページの BigQuery 接続での永続的な派生テーブルのセクションをご覧ください。
- 管理者は、別のユーザーとしてsudoを実行する場合にそのユーザーのOAuth認証トークンを使用します。
sudo
コマンドの使用方法については、ユーザーのドキュメントをご覧ください。
OAuth に対応した BigQuery データベースプロジェクトの設定
以降のセクションでは、OAuth 認証情報の生成方法と OAuth 同意画面の構成方法について説明します。プロジェクト内の別のアプリケーションに対してすでに OAuth 同意画面を構成している場合は、新たに作成する必要はありません。プロジェクトのすべてのアプリケーションに対して 1 つの同意画面を設定するだけです。
OAuth 認証情報と OAuth 同意画面は、Google Cloud コンソールで構成する必要があります。Google の一般的な説明は、Google Cloud サポートサイトと Google デベロッパー コンソール サイトにあります。
Looker で BigQuery データにアクセスするユーザーのタイプや、BigQuery データが公開されているか非公開かに応じて、OAuth が最も適切な認証方式ではない場合があります。同様に、ユーザーからリクエストされるデータのタイプや、Looker の使用を Google に認証するときにユーザーデータへのアクセス権限がどの程度必要かによっては、Looker で Google による確認が必要になる場合があります。確認について詳しくは、このページの Google OAuth 認証情報の生成セクションをご覧ください。
Google OAuth 認証情報の生成
Google Cloud コンソールに移動します。
[プロジェクトを選択] プルダウンで、BigQuery プロジェクトに移動します。これにより、プロジェクトダッシュボードが表示されます。
左側のメニューで、[API とサービス] ページを選択します。[認証情報] を選択します。[認証情報] ページで、[認証情報を作成] ボタンの下矢印を選択して、プルダウン メニューから [OAuth クライアント ID] を選択します。
Googleは OAuth 同意画面を設定することを求めています。これにより、管理者が OAuth 認証情報を生成する前に、ユーザーは各自のプライベートデータへのアクセス権限を付与する方法を選択できます。OAuth 同意画面を構成するには、このページの OAuth 同意画面の構成をご覧ください。
OAuth 同意画面をすでに構成している場合、[OAuth クライアント ID の作成] ページが表示されます。このページで、BigQuery から Looker への接続で使用する OAuth クライアント ID とシークレットを作成できます。[アプリケーションの種類] プルダウンから、[ウェブ アプリケーション] を選択します。ページが展開され、追加のオプションが表示されます。
[名前] フィールドに、Looker などのアプリ名を入力します。
[承認済み JavaScript 生成元] セクションで [+ URI を追加] を選択して [URI 1] フィールドを表示します。[URI 1] フィールドに、
https://
を含む Looker インスタンスの URL を入力します。次に例を示します。- Looker がインスタンスをホストする場合:
https://<instancename>.looker.com
- お客様がホストする Looker インスタンスがある場合:
https://looker.<mycompany>.com
- Looker インスタンスにポート番号が必要な場合:
https://looker.<mycompany>.com:9999
- Looker がインスタンスをホストする場合:
[承認済みリダイレクト URI] セクションで、[+ URI を追加] を選択して [URI 1] フィールドを表示します。[URI 1] フィールドに、Looker インスタンスの URL と、続けて
/external_oauth/redirect
を入力します。例:https://<instancename>.looker.com/external_oauth/redirect
またはhttps://looker.<mycompany>.com:9999/external_oauth/redirect
。クライアント ID とクライアント シークレットの値をコピーします。これらは Looker で BigQuery 接続に OAuth を構成するために必要です。
OAuth同意画面の設定
Google では OAuth 同意画面を構成することを求めています。これにより、ユーザーは各自のプライベート データへのアクセス権限を付与する方法を選択でき、組織の利用規約とプライバシー ポリシーへのリンクが表示されます。
左側のメニューで、[OAuth 同意画面] ページを選択します。OAuth 同意画面を設定する前に、このアプリケーションを利用可能にするユーザーのタイプを選択する必要があります。選択した内容によっては、アプリで Google による検証が必要になる場合があります。
項目を選択して [作成] を選択します。OAuth 同意画面が表示されます。この画面は、プロジェクト内のすべてのアプリケーション(内部アプリケーションと一般公開アプリケーションの両方を含む)に対して構成できます。
次のいずれかに該当する場合、Google は公開アプリケーションの検証を行います。
- 制限付きスコープまたは機密スコープを使用する Google API をアプリケーションが使用する場合。
- OAuth 同意画面にアプリケーションロゴが含まれる場合。
- プロジェクトがドメインしきい値を超えている場合。
OAuth 同意画面を構成するには、次の手順を行います。
[アプリ名] に、ユーザーがアクセス権を付与するアプリケーションの名前を入力します。この場合は Looker です。
[ユーザー サポートメール] に、ユーザーがログインや同意の問題について問い合わせるサポートのメールアドレスを入力します。
[ドメインを追加] を選択して、[承認済みドメイン 1] フィールドを表示します。このフィールドには、Looker インスタンスの URL のドメインを入力します。たとえば、Looker が
https://<instance_name>.cloud.looker.com
でインスタンスをホストする場合、ドメインはcloud.looker.com
です。セルフホスト型の Looker デプロイの場合は、Looker をホストするドメインを入力します。[デベロッパーの連絡先情報] セクションで、プロジェクトに関する Google からの連絡に使用できる 1 つ以上のメールアドレスを入力します。
残りのフィールドは省略可能ですが、同意画面をさらにカスタマイズできます。
[保存して次へ] を選択します。
[スコープ] ページが表示され、ここでスコープを構成できます。Looker ではデフォルトスコープのみが必要です。このため追加のスコープ設定は必要ありません。[保存して次へ] を選択します。
[概要] ページで、[ダッシュボードに戻る] を選択します。
次に、OAuth 認証情報の生成の手順を進めます。
Google OAuth 同意画面の構成の詳細については、Google のサポート ドキュメントをご覧ください。
OAuth を使用した BigQuery の Looker 接続の構成
BigQuery 接続で OAuth を有効にするには、BigQuery への Looker 接続を設定するときに、Looker の [Connection] ページで [OAuth] オプションを選択します。[OAuth] オプションを有効にすると、Looker で [OAuth クライアント ID] フィールドと [OAuth クライアント シークレット] フィールドが表示されます。このページの Google OAuth 認証情報を生成する手順のステップとして取得したクライアント ID とクライアント シークレットの値を貼り付けます。
このページの Looker を BigQuery に接続するセクションの説明に従って、残りの手順を完了します。
Looker ユーザーが OAuth を使用して BigQuery を認証する方法
OAuth 用に BigQuery への Looker 接続が設定されると、ユーザーは Looker を使用して、以下のいずれかを行って BigQuery データベースへの初期認証を実行することができます。
- BigQuery 接続を使用する Looker クエリから Google に認証する
- Lookerの [Account] ページの [OAuth Connection Credentials] セクションから Google に認証する
クエリからの Google に対する認証
BigQuery への Looker 接続が OAuth 用に設定されると、BigQuery 接続を使用するクエリを実行する前に、Google アカウントでログインするよう求めるプロンプトが Looker によって表示されます。Looker は、Explore、ダッシュボード、Look、SQL Runner からこのプロンプトを表示します。
ユーザーは [ログイン] を選択して、OAuth で認証する必要があります。ユーザーが BigQuery に対して認証されると、ユーザーは Explore 内の [Run] ボタンを選択することができ、Looker によってデータが Explore に読み込まれます。
ユーザーアカウントページからのGoogleに対する認証
BigQuery への Looker 接続が OAuth 用に設定されると、ユーザーは Looker の [User account] ページから Google アカウントへ認証を行うことができます。
- Looker でプロフィール アイコンを選択し、ユーザー メニューから [アカウント] を選択します。
- [OAuth 接続認証情報] セクションまでスクロールし、目的の BigQuery データベース接続の [ログイン] ボタンを選択します。
- [Sign in with Google] ページから適切なアカウントを選択します。
- OAuth 同意画面で [許可] を選択し、Looker が Google BigQuery 内のデータを表示して管理できるようにします。
Looker を通して Google に認証した後は、ユーザー アカウントをカスタマイズするのドキュメント ページで説明されているように、[Accout] ページでいつでも認証情報からログアウトまたは再承認できます。Google BigQuery トークンに有効期限はありませんが、ユーザーは [再認証] を選択して別の Google アカウントでログインできます。
OAuthトークンの取り消し
Looker などのアプリケーションから Google アカウントへのアクセスを取り消すには、[Google account settings] にアクセスします。
Google BigQuery トークンには有効期限はありませんが、データベース管理者がデータベース接続の OAuth 認証情報を変更して既存の認証情報が無効になった場合、ユーザーはその接続を使用するクエリを実行する前に、Google アカウントで再ログインする必要があります。
BigQuery 接続での永続的な派生テーブル
BigQuery 接続に永続的な派生テーブル(PDT)を使用する場合は、接続構成に応じて次の操作を行う必要があります。
- Google Cloud BigQuery コンソールを使用して、BigQuery データベースに Looker が PDT を書き込むための一時データセットを作成する。手順については、このドキュメントの永続的な派生テーブルの一時データセットの作成をご覧ください。これは、接続の他の構成オプションに関係なく、PDT に対して必要です。
- Google Cloud コンソールの API Manager を使用して、Looker の PDT プロセス用に別のサービス アカウントを作成します。手順については、このページのサービス アカウントの作成と JSON 認証情報証明書のダウンロードをご覧ください。接続に対する認証の種類は、PDT サービス アカウントが必要かどうかや、BigQuery への Looker 接続を設定する際に Looker の [Connections] ウィンドウで PDT サービス アカウント情報を入力する場所に影響します。
- 接続で OAuth を使用してユーザー認証を行う場合、PDT プロセス用に別のサービス アカウントを作成する必要があります。Looker の [接続] ウィンドウの [PDT オーバーライド] セクションに、サービス アカウント情報と証明書ファイルの詳細を入力します。[認証] フィールドの [OAuth] オプションでも構成される接続に対して [PDT を有効にする] 切り替えボタンをオンにすると、Looker の [接続] ウィンドウに [PDT オーバーライド] セクションが自動的に表示されます。詳細については、OAuth を使用した BigQuery への Looker 接続に対する PDT の有効化セクションをご覧ください。
- 接続でユーザー認証にサービス アカウントを使用する場合は、PDT プロセス用に別のサービス アカウントを作成できます。別の PDT サービス アカウントを使用する場合は、Looker の [接続] ウィンドウで、[サービス アカウントのメール] フィールド、[サービス アカウントの JSON/P12 ファイル] フィールド、[パスワード] フィールドの [PDT オーバーライド] セクションにサービス アカウントの情報を入力します。サービス アカウント認証を使用した BigQuery への Looker 接続に対して [PDT を有効にする] 切り替えボタンをオンにすると、[PDT オーバーライド] セクションが表示されます。
永続的派生テーブルの一時的なデータセットの作成
BigQuery 接続で永続的な派生テーブル(PDT)を有効にするには、BigQuery への Looker 接続を設定するときに、Looker の [接続] ページで [PDT を有効にする] 切り替えボタンをオンにします。PDT を有効にすると、Looker では [一時データセット] フィールドが表示されます。このフィールドには、LookerでPDTの作成に使用できるデータセットの名前を入力します。このデータベースまたはスキーマには、適切な書き込み権限を前もって設定しておく必要があります。
Google Cloud BigQuery コンソールを使用して、一時データセットを設定できます。
Google Cloud BigQuery コンソールを開き、プロジェクトを選択します。
その他メニューを選択し、[データセットを作成] を選択します。
[データセット ID](通常は
looker_scratch
)を入力し、[データのロケーション](省略可)、[デフォルトのテーブル有効期限]、暗号鍵の管理ソリューションを選択します。[データセットを作成] を選択して終了します。
データセットを作成したので、BigQuery への Looker 接続を設定するときに、Looker の [Connections] ウィンドウの [Temp Dataset] フィールドにデータセット名を指定できます。
OAuth を使用して BigQuery への Looker 接続用に PDT を有効にする
OAuth を使用する BigQuery 接続では、ユーザーは OAuth 認証情報を使用して Looker に認証されます。Looker では、OAuth による BigQuery 接続の PDT をサポートしていますが、Looker 自体では OAuth を使用できないため、Looker が PDT プロセスのためにデータベースにアクセスできるように、明示的に BigQuery サービス アカウントを設定する必要があります。
Google Cloud API Manager を使用して、BigQuery データベースに PDT サービス アカウントを設定できます。このページのサービス アカウントの作成と JSON 認証情報証明書のダウンロードをご覧ください。
BigQuery データベースでサービス アカウントを作成したら、BigQuery への Looker 接続を設定するときに、このサービス アカウント情報と証明書ファイルの詳細を、Looker の [接続] ウィンドウの [PDT オーバーライド] セクションに入力します。[認証] フィールドの [OAuth] オプションでも構成される接続に対して [PDT を有効にする] 切り替えボタンをオンにすると、Looker の [接続] ウィンドウに [PDT オーバーライド] セクションが自動的に表示されます。[PDT オーバーライド] セクションの次のフィールドを使用して、データベース上の PDT プロセス用に Looker で使用できるサービス アカウントの情報を入力します。
- P12 または JSON 形式のアップロード: [ファイルをアップロード] ボタンを使用して、接続の PDT プロセスに使用する BigQuery サービス アカウントの証明書ファイルをアップロードします。このファイルは、サービス アカウントの作成と JSON 認証情報証明書のダウンロードの手順のステップとして、Google Cloud API Manager からダ取得できます。
- ユーザー名: このフィールドは、[PDT オーバーライド] セクションの [P12 または JSON 形式のアップロード] フィールドで P12 ファイルをアップロードする場合にのみ適用されます。接続の PDT プロセスに使用する BigQuery サービス アカウントのメールアドレスを入力します。このメールアドレスは、サービス アカウントの作成と JSON 認証情報証明書のダウンロードの手順のステップとして Google Cloud API Manager から取得できます。
- パスワード: このフィールドは、[PDT オーバーライド] セクションの [P12 または JSON 形式のアップロード] フィールドで P12 ファイルをアップロードする場合にのみ適用されます。接続の PDT プロセスに使用する BigQuery サービス アカウントの .p12 認証情報ファイルにパスワードを入力します。
Looker の BigQuery への接続
Looker の [Admin] セクションで [Connections] を選択して [Connections] ページを開き、次のいずれかを行います。
- 新しい接続を作成するには、[接続を追加] ボタンを選択します。
- 既存の接続を編集するには、[データベース] テーブルから接続を見つけ、接続のリスト内で [編集] ボタンを選択します。
接続の詳細を入力します。これらの設定の大部分は、ほとんどのデータベース言語に共通します。詳細については、Looker をデータベースに接続するのドキュメントをご覧ください。以下で、各設定について言及し、BigQuery 接続にどのように適用されるかを説明します。
- Dialect: [Google BigQuery Standard SQL] または [Google BigQuery Legacy SQL] を選択します。
- 課金プロジェクト ID: Google Cloud 請求先プロジェクトの名前。課金プロジェクトは課金対象となる Google Cloud プロジェクトですが、LookML デベロッパーが LookML のビュー、Explore、結合の
sql_table_name
パラメータに完全にスコープされたテーブル名を指定していれば、別の Google Cloud プロジェクトのデータセットをクエリできます。BigQuery の場合、完全にスコープ指定されたテーブル名は<project_name>.<dataset_name>.<table_name>
の形式を使用します。完全にスコープされた参照がない場合、BigQuery は Looker への BigQuery 接続のために、Looker の [接続] ページで指定した課金プロジェクトとデータセット内のテーブルを探します。BigQuery のリソース階層の説明については、BigQuery のドキュメントをご覧ください。 - Dataset: 使用する予定のデフォルトのデータセット名。テーブルにデータセット名が指定されていない場合、そのテーブルは、このデータセット内に存在するものと見なされます。(このプロジェクトの他のデータセットをモデルにすることもできます)。[データセット] の値は、BigQuery データベース内のデータセットの名前と一致する必要があります。
- 認証: Looker でデータベースへのアクセスに使用する認証タイプ(サービス アカウントまたは OAuth)。
- サービス アカウント: このオプションを選択すると、Looker で BigQuery サービス アカウントを使用してデータベースを認証できます。詳細については、BigQuery サービス アカウントによる認証をご覧ください。[サービス アカウント] を選択すると、次のフィールドが表示されます。
- サービスの JSON または P12 ファイルをアップロードします: [ファイルをアップロード] ボタンを使用して、BigQuery サービス アカウントの証明書ファイルをアップロードします。このファイルは、サービス アカウントの作成と JSON 認証情報証明書のダウンロードの手順のステップとして、Google Cloud API Manager からダ取得できます。
- サービス アカウントのメール: このフィールドは、[サービスの JSON または P12 ファイルをアップロードします] フィールドに P12 ファイルをアップロードする場合にのみ適用されます。BigQuery サービス アカウントのメールアドレスを入力します。これは、サービスアカウントの作成および JSON 資格情報のダウンロードの手順のステップとして Google Cloud API Manager から取得します。
- Password: BigQuery サービス アカウントの P12 認証情報ファイルのパスワード。[パスワード] フィールドは、[サービスの JSON または P12 ファイルをアップロードする] フィールドで P12 ファイルをアップロードする場合にのみ適用されます。
- Use OAuth: 各 Looker ユーザーが Google BigQuery に対して認証を行い、ユーザーの BigQuery アカウントでデータベースにアクセスできるように Looker を承認するには、このオプションを選択します。BigQuery 接続で OAuth を実装する方法の詳細については、このページの OAuth による認証をご覧ください。[OAuth] を選択すると、次のフィールドが表示されます。
- OAuth Client ID: OAuth クライアント ID。この情報は、Google OAuth 認証情報の生成の手順のステップとして、Google Cloud コンソールから取得します。
- OAuth Client Secret: OAuth クライアント シークレット。この情報は、Google OAuth 認証情報の生成の手順のステップとして、Google Cloud コンソールから取得します。
- サービス アカウント: このオプションを選択すると、Looker で BigQuery サービス アカウントを使用してデータベースを認証できます。詳細については、BigQuery サービス アカウントによる認証をご覧ください。[サービス アカウント] を選択すると、次のフィールドが表示されます。
- PDT を有効にする: 接続で永続的な派生テーブル(PDT)を許可するには、この切り替えボタンを有効にします。Looker が PDT を書き込むために使用する、データベース上の一時データセットを指定する必要があります。手順については、このページの永続的派生テーブルの一時的なデータセットの作成セクションをご覧ください。注: 接続が OAuth 用に構成されている場合は、[PDT オーバーライド] セクションを使用して、Looker で BigQuery 接続の PDT プロセスに使用できるサービス アカウントを指定する必要があります。詳細については、OAuth を使用した BigQuery への Looker 接続に対する PDT の有効化をご覧ください。
- Temp Dataset: Looker が永続的な派生テーブルをデータベースに書き込むために、Google Cloud BigQuery コンソールに作成した BigQuery データセット。手順については、永続的派生テーブルの一時的なデータセットの作成をご覧ください。
- Database Time Zone: BigQuery のデフォルトのタイムゾーンは UTC です。ここで指定するタイムゾーンの設定は、BigQuery のタイムゾーンの設定と一致している必要があります。詳細については、Looker をデータベースに接続ページのデータベースのタイムゾーンセクションをご覧ください。
- クエリのタイムゾーン: 詳細については、Looker をデータベースに接続ページのクエリのタイムゾーンセクションをご覧ください。
- その他の JDBC パラメータ: BigQuery のラベルなど、その他の JDBC パラメータを追加します(詳細については、このページの BigQuery 接続のジョブラベルとコンテキスト コメントのセクションをご覧ください)。以下に、サポートされている他のパラメータをいくつか示します。
connectTimeout
: 接続待機時間(ミリ秒)。デフォルトは 240000 です。readTimeout
: 読み取り待機時間(ミリ秒)。デフォルトは 240000 です。rootUrl
: プライベート ネットワークの中に BigQuery インスタンスがある場合、デフォルトのパブリック エンドポイント以外の代替エンドポイントを BigQuery 接続用に指定してください。
- Max Billing Gigabytes: BigQuery 接続では、クエリのサイズに基づいてクエリごとに課金されます。ユーザーが誤って高額なクエリを実行しないように、ユーザーが単一のクエリを pull できる最大 GB 数を設定できます。[Max Billing Gigabytes] フィールドは空白のままにして、クエリサイズに上限がないことを示すことができます。料金の詳細についてはこちらをご覧ください。
- ノードごとの最大接続数: 最初はデフォルト値のままにできます。この設定の詳細については、Looker をデータベースに接続するドキュメント ページのノードごとの最大接続数セクションをご覧ください。
- Connection Pool Timeout: 最初はデフォルト値のままにしておくことができます。この設定の詳細については、Looker をデータベースに接続するのドキュメント ページの接続プールのタイムアウトのセクションをご覧ください。
- コンテキストを無効化: このオプションを選択すると、BigQuery 接続に対するコンテキスト コメントが無効になります。Google BigQuery 接続のコンテキスト コメントはデフォルトで無効になっています。コンテキスト コメントは Google BigQuery のキャッシュ機能を無効にし、キャッシュ パフォーマンスに悪影響を及ぼす可能性があるからです。BigQuery 接続のコンテキスト コメントを有効にするには、[コンテキストを無効化] 切り替えボタンをオフにします。詳細については、BigQuery 接続のジョブラベルとコンテキスト コメントをご覧ください。
- SQL Runner Precache: SQL Runner にテーブル情報をプリロードせず、テーブルが選択されている場合にのみテーブル情報を読み込むようにするには、このオプションをオフにします。詳細については、Looker をデータベースに接続ページの SQL Runner プリキャッシュ セクションをご覧ください。
接続に適用可能なすべてのフィールドに入力したら、必要に応じて接続をテストできます。
これらの設定を保存するには、[接続] をクリックします。
接続のテスト
Looker UI の複数の場所から接続設定をテストできます。
- データベースへの Looker の接続のドキュメント ページで説明されているように、[接続設定] ページの下部にある [テスト] ボタンを選択します。
- 接続のドキュメント ページの説明に従って、[接続] 管理ページの接続リストの横にある [Test] ボタンを選択します。
新しい接続では、Looker に [接続可能] と表示されたら、[接続を追加] を選択します。Looker は、残りの接続テストを実行して、サービス アカウントが正しく設定され、適切なロールが設定されていることを確認します。
OAuthを使用する接続のテスト
- Looker で Development Mode に移行します。
- OAuthを使用する既存のBigQuery接続の場合は、BigQuery 接続を使用する Looker プロジェクトのプロジェクト ファイルに移動します。OAuth を使用する新しい BigQuery 接続の場合は、モデルファイルを開き、モデルの
connection
値を新しい BigQuery 接続の名前に置き換えて、モデルファイルを保存します。 - モデルの Explore またはダッシュボードの一つを開き、クエリを実行します。クエリを実行しようとすると、Google アカウントでログインするように求められます。Google OAuth ログイン プロンプトに従います。
BigQuery 接続のジョブラベルとコンテキスト コメント
BigQuery 接続の場合、Looker は BigQuery ジョブラベルの形式でクエリ コンテキストを送信します。デフォルトでは、Looker は BigQuery 接続で次のコンテキスト ラベル キーを送信します。
looker-context-user_id
: Looker インスタンスの各ユーザーの一意の識別子。このユーザー ID は、[Admin] メニューの [Users] ページにあるユーザー ID と照合できます。looker-context-history_slug
: Looker インスタンスによりデータベース上で実行される各クエリの一意の識別子。looker-context-instance_slug
: クエリを発行した Looker インスタンスの ID 番号。必要に応じ、Looker のサポートはこの情報を使用してトラブルシューティングを支援できます。
[接続] ページの [その他の JDBC パラメータ] テキスト フィールドを使用して、BigQuery 接続のすべてのクエリで送信する Looker の追加ジョブラベルを構成できます。[その他の JDBC パラメータ] フィールドで、追加の JDBC パラメータ「labels
」を追加し、URL エンコードされた key=value
ペアのカンマ区切りリストを指定します。たとえば、[その他の JDBC パラメータ] フィールドに入力します。
labels=this%3Dconnection-label,that%3Danother-connection-label
%3D
は =
の URL エンコードです。そのため、デフォルトの Looker コンテキスト ラベルに加えて、Looker が BigQuery データベースに送信するすべてのクエリに次の 2 つのラベルが追加されます。
this
:connection-label
that
:another-connection-label
BigQuery にはジョブラベルの制限があることに注意してください。
- コンテキスト ラベルと同じキーを持つ接続ラベルは無視されます。
- 接続ラベルとコンテキスト ラベルの組み合わせが計 64 ラベルという上限を超過する場合、合計ラベル数が 64 以下になるまで、コンテキスト ラベルが最初にドロップされ、次に接続ラベルがドロップされます。
Looker は、コンテキスト ラベルが BigQuery のラベル有効性の要件すべてに準拠していることを確認しますが、接続ラベルの有効性はチェックしません。無効な接続ラベルを設定すると、クエリが失敗する可能性があります。
Looker がデフォルトで送信する BigQuery ジョブのラベル(looker-context-user_id
、looker-context-history_id
、looker-context-instance_slug
)は、Looker が、BigQuery 以外のデータベース言語の SQL クエリにアタッチする SQL コンテキスト コメントに対応しています。BigQuery 接続では、コンテキスト コメントはデフォルトで無効になります。これは、BigQuery のキャッシュ機能が無効になり、キャッシュ パフォーマンスに悪影響が及ぶ可能性があるためです。BigQuery 接続でコンテキスト コメントを有効にするには、BigQuery 接続に対して [コンテキストを無効化] 切り替えボタンをオフにします。BigQuery のキャッシュを使用できるように、[コンテキスト コメントの無効化] はデフォルト設定のままにすることをおすすめします。ただし、BigQuery 接続の [コンテキスト コメントの無効化] オプションの選択を解除すると、Looker は SQL コンテキスト コメントと BigQuery ジョブラベルをデータベースに送信します。
SQL コンテキスト コメントと BigQuery ジョブラベルは同じ情報を表します。たとえば、Looder はクエリに対して次の SQL コンテキスト コメントを生成します。
-- Looker Query Context
'{"user_id":1,"history_id":4757,"instance_slug":"ec2804ddef74c466f2a43e0afaa3ff6b"}'
この場合、Looker は、同じクエリに対して次の BigQuery ジョブラベルを生成します。
[{"value":"1","key":"looker-context-user_id"),
{"value":"4757","key":"looker-context-history_id"),
{"value":"ec2804ddef74c466f2a43e0afaa3ff6b","key":"looker-context-instance_slug"}]
機能のサポート
一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。
Google BigQuery Standard SQL
Google BigQuery Standard SQL は、Looker 23.14 の時点で、次の機能をサポートしています。
特徴 | サポート対象 |
---|---|
サポート レベル | サポート対象 |
Looker(Google Cloud コア) | はい |
対称集計 | あり |
派生テーブル | あり |
永続的な SQL 派生テーブル | あり |
永続的なネイティブ派生テーブル | あり |
安定したビュー | あり |
クエリの強制終了 | はい |
SQL ベースのピボット | はい |
タイムゾーン | あり |
SSL | あり |
Subtotals | あり |
JDBC の追加パラメータ | あり |
Case Sensitive | あり |
ロケーション タイプ | あり |
リストのタイプ | あり |
パーセンタイル | あり |
個別のパーセンタイル | あり |
SQL Runner のプロセスの表示 | いいえ |
SQL Runner の説明テーブル | いいえ |
SQL Runner 表示インデックス | いいえ |
SQL Runner Select 10 | あり |
SQL ランナーの数 | あり |
SQL の説明 | いいえ |
Oauth 認証情報 | あり |
コンテキスト コメント | あり |
接続プーリング | いいえ |
HLL スケッチ | あり |
集計認識 | あり |
増分PDT | あり |
ミリ秒 | あり |
マイクロ秒 | あり |
マテリアライズド ビュー | あり |
Approximate Count Distinct | あり |
Google BigQuery Legacy SQL
Google BigQuery Legacy SQL は、Looker 23.14 時点で、次の機能をサポートしています。
特徴 | サポート対象 |
---|---|
サポート レベル | サポート対象 |
Looker(Google Cloud コア) | いいえ |
対称集計 | あり |
派生テーブル | あり |
永続的な SQL 派生テーブル | あり |
永続的なネイティブ派生テーブル | あり |
安定したビュー | いいえ |
クエリの強制終了 | はい |
SQL ベースのピボット | はい |
タイムゾーン | いいえ |
SSL | あり |
Subtotals | いいえ |
JDBC の追加パラメータ | あり |
Case Sensitive | あり |
ロケーション タイプ | あり |
リストのタイプ | あり |
パーセンタイル | あり |
個別のパーセンタイル | あり |
SQL Runner のプロセスの表示 | いいえ |
SQL Runner の説明テーブル | いいえ |
SQL Runner 表示インデックス | いいえ |
SQL Runner Select 10 | あり |
SQL ランナーの数 | あり |
SQL の説明 | いいえ |
Oauth 認証情報 | あり |
コンテキスト コメント | あり |
接続プーリング | いいえ |
HLL スケッチ | いいえ |
集計認識 | あり |
増分PDT | いいえ |
ミリ秒 | あり |
マイクロ秒 | あり |
マテリアライズド ビュー | いいえ |
Approximate Count Distinct | あり |
次のステップ
データベースを Looker に接続したら、ユーザーのログイン オプションを構成します。