お問い合わせ
およそ5 分で読むことができます。

LookerとBigQueryのデータを連携させる方法についてご紹介します

2023年7月18日

こんにちは、donutです。
今回は、「LookerとBigQueryのデータを連携させる方法」について試してみたいと思います。

なお、Lookerについては、概要について執筆した記事もありますので、あわせてお読みいただく
ことでより理解が深まるかと思います。

<参考>
次世代BIプラットフォーム「Looker」についてご紹介

BigQuery編:アカウント及び秘密鍵の作成

LookerとBigQueryを接続する場合、以下の2つの方法があります。

・サービスアカウントの作成及びJSON Credentials Certificateの作成
・Google OAuthを利用した認証

今回は「サービスアカウントの作成およびJSON Credentials Certificateの作成」
利用した方法で設定していきたいと思います。
※サービスアカウントを作成する場合、Google Cloudの管理者権限が必要です。

BigQuery(Google Cloud)での作業:サービスアカウント作成

①「プロジェクト名」→「APIとサービス」→「認証情報」の順に展開します。

APIとサービス

②「+認証情報を作成」→「サービスアカウント」を選択します。APIとサービス2

③「サービスアカウント名」と「サービスアカウントID」を入力・作成します。
※「サービスアカウント名」を作成すると「サービスアカウントID」も自動で作成されます。

APIとサービス3

④「作成して続行」→「ロールを選択」をクリックし、「BigQuery」→「BigQueryデータ編集者」
 を選択します。
⑤「+別のロールを追加」をクリックし、④と同じ方法で「BigQuery」を追加します。
APIとロール  BQロール

⑥「続行」をクリックすると、サービスアカウントのアクセス権限の画面が表示されますが、
 ここではオプションを設定しないため、そのまま「完了」をクリックします。

APIとサービスアカウント

⑦下記画面のようにサービスアカウントが作成・表示されれば完了となります。

認証情報

BigQuery(Google Cloud)での作業:秘密鍵の作成

次に、秘密鍵でもある「JSON Credentials Certificate」を作成していきます。

①サービスアカウント項目にある「編集(鉛筆アイコン)」をクリックします。

認証情報2

②「キー」タブより「鍵を追加」→「新しい鍵を作成」の順に展開します。

キー1

③秘密鍵の作成ダイアログで「JSON」を指定し、「作成」をクリックします。

キー2

④下記ダイアログが表示され、PCにJSONファイルがダウンロードされるので、任意のフォルダへ
 保存してください。キー3

⑤「キー」タブで下記のように表示されれば完了となります。キー4

BigQuery(Google Cloud)側での設定作業は以上となります。

Looker編:データベースの接続設定

今度は、Lookerにおけるデータベースをはじめとした接続設定を行いたいと思います。

Looker側での作業:データベースの設定

①Lookerを開き、「管理」→「データベース」→「接続」の順に展開します

LookerDB

②「Connections」画面右上の「Add Connection」をクリックします。LookerDB2

③「データベースをLookerに接続」画面で設定を行っていきます。
※環境によっては「Connection Settings」画面が表示される場合もありますが、
 設定内容は同一になります。
※「オプション設定」については既定のままで設定します。
LookerDB4

LookerDB5

【各項目について】

・名前:任意の接続名を入力します。
    ※Lookerのモデルファイルではこの名前で参照します。
・Dialect 「Google BigQuery Standard SQL」もしくは
       「Google BigQuery Legacy SQL」を指定します。
※今回は「Google BigQuery Standard SQL」を指定しています。
・請求プロジェクト使用データを持つ 「GoogleプロジェクトID」を入力します。
※「プロジェクト名」ではありませんのでご注意ください。
・Dataset:使用予定のデータセットの名前を入力します。
※この部分は、BigQueryデータベース内のデータセット名と一致している
 必要があります。
・Service Account Email: BigQuery(Google Cloud)の手順で作成した
               サービスアカウントのメールアドレスを入力します。
・認証(サービスアカウント):BigQuery(Google Cloud)の手順で作成した
              秘密鍵(JSONファイル)をアップロードします。
・Persistent Derived Tables:Lookerの永続的な派生テーブルを指します。
※Lookerで定義したSQLまたはLookMLの内容を元に、接続先のDWH・DBに
 実テーブルを作成する機能です。
 チェックをすると、「Service Account Email」
 「Service Account JSON/P12 File(秘密鍵)」項目が追加で表示されます。
 同一のファイル名を入力、JSONファイルを添付してください。
Temp Dataset永続的派生テーブル(PDT)を書き込むためのデータセットです。
※ここでは「Dataset」項目と同一名で設定します。

<参考>
Lookerの派生テーブル

④「テスト」をクリックして連携可否を確認し、成功した場合は「接続」をクリックします。
※接続に成功すると下記の画面が表示されます。

LookerDB_success

⑤「Connections」画面に戻り、③で作成したデータベース右側にある「Test」をクリックし、
 もう一度テストを実施します。※成功すると下記のような結果となります。

LookerDB7

以上をもって、LookerとBigQueryの接続を行うことができました...!

今までの作業内容を大まかにまとめると、以下の流れになります。

1.BigQuery(Google Cloud)でサービスアカウントを作成する

2.BigQuery(Google Cloud)で秘密鍵(JSON)ファイルを作成する

3.Lookerでデータベース接続の設定、接続テストを行う

今回は、LookerとBigQueryの連携・接続方法についてご紹介しましたが、次回は新規作成した
LookML Projectで実際にモデルとビューを作成し、グラフの可視化まで行っていきたいと思います。

また、弊社ではLookerに関する資料も公開しています。
下記ページよりダウンロードが可能ですので、あわせてご参照ください。

<参考>
Looker概要資料

donut

Written by donut

生まれも育ちも新潟県新潟市。ビッグデータを基盤としたINSIGHT LABのビジョンや新潟の活性化事業に惹かれ、入社。趣味はカフェ巡りとゲーム、水族館にも行きたいです。