Lookerで空のプロジェクト(LookML Project)から各種要素を追加していく方法まとめ #looker

2019.09.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Lookerでは『プロジェクト』作成時に任意のデータベース接続(Connection)を指定する事で、対象スキーマ配下のテーブルを自動で解析し、探索に必要な諸要素を自動で生成してくれます(とても便利です!)。

通常、特に問題無ければこの手法を使って初期環境構築を行っていくことになるかと思いますが、Lookerではプロジェクトを空の状態で作成することも可能です。当エントリでは、空のプロジェクト(LookML Project)を作成した際、その【プロジェクトに対して必要な諸要素を追加】するにはどういう手順を踏めば良いのか、要素ごとに実際に試してみた内容を紹介したいと思います。

目次

 

前提

空のプロジェクト(LookML Project)作成からの手順を進めるにあたり、以下のエントリを参考に『任意のデータベース接続が作成されていること』が完了していることを前提に進めます。(下記エントリではAmazon Redshiftのデータベース接続を作成していますが、データベースの種類はここでは問いません)

また、設定ファイル各種を作成・編集するため、『開発モード』になっていることを確認してください。

 

空のプロジェクト(LookML Project)を作成

上記『前提』の手順で用意したデータベース接続を用いたプロジェクトの作成については、以下エントリで内容を紹介しています。

また、以下公式ドキュメントも合わせてご参照ください。

ここではプロジェクトの在り方として空プロジェクトとして進めたいので、[Starting Point]の選択肢を[Blank Project]を指定して[Create Project]を押下します。

プロジェクトが作成されました。文字通り空で、何もありません。

 

モデル(Model)の追加

ではここから要素を少しずつ足して行きましょう。足していく要素それぞれの説明については以下をご参照ください。

まずはモデル(Model)です。基本的にはプロジェクト左側メニューの[Add...]右横にある[+]ボタンを押下して展開されるメニューから必要な項目を選択し、要素を追加していく形となります。ここは[Create Model]を選択。

任意の名称を入力し、[Create]押下。

モデルファイル(拡張子:*.model)が作成されました。これも現状枠だけ用意された状態です。この後設定するDB接続名(connection)も現状は仮の値が入っている("connection_name"という文字列)状態です。

 

データベース接続(Connection)の追加

利用可能な接続は[Admin]メニューの[Database]→[Connection]に表示される接続データベースの一覧で確認可能です。接続したいデータベースの名前を控え、

該当箇所に書き入れておきます。

 

ビュー(View)の追加

ビューを追加する場合は、該当メニューの[Create View From Table]から作っていくと良いでしょう。すぐ下に[Create View]というメニューがありますが、これは単純に指定の名称のviewファイル(のガラ)だけを作成するだけなので当エントリでは割愛します。

対象スキーマが指定された状態で作成するテーブルの選択を促されます。作成したいテーブルを選択し、

[Create View]を押下。

所定の名称(対象テーブル名.view)でビューが作成されました。sql_table_nameの指定内容が、実際に存在すスキーマ名&テーブル名の値となっています。

ここで試しに、ModelファイルのDB接続(connection)部分の値を存在しないものに変えてビューを作成しようとなるとどうなるか、確認してみました。

『そんな接続ねぇよ!』と怒られました。

また、接続名を正しいものに直した上で、connectionに設定していない接続及びテーブル名を指定したらどうなるか?というのも試してみました。こちらは上手く通りました(通ってしまいました)。これは設定として問題無いのかな?どこか実行の段でエラーになるのでしょうか。後ほど確認してみたいと思います。

また、モデル作成の際、以下のような警告がファイルに表示されていました。指定しているビューファイルのパスと、実際に存在しているパス構成が違う!という内容です。

実際の構成に対応するように設定ファイルのパスを書き換えました。警告が消え、対象ファイルがどの内容になるか、という情報を確認出来ています。

 

エクスプローラ(Explore)と結合(Join)の追加

DB接続を活用した場合、ビュー(View)に1対1で対応する形でエクスプローラ(Explore)が生成され、結合(Join)は特に設定されない形で各種ファイルが作成されます。空で作成した場合はエクスプローラ(Explore)と結合(Join)のいずれも作成されていないので新規で作成していく必要があります。

下記ドキュメントに倣う形で、まずはエクスプローラ(Explore)を、そして必要に応じてビュー(View)同士の結合(Join)を設定します。

下記内容はブログ(Developers.IO)の『投稿データ』と『ユーザマスタ』を著者IDで結合させた場合の記述例となります。

 

まとめ

というわけで、Lookerで(空プロジェクトを作成した際の)各種要素の新規追加方法のご紹介でした。

『DB接続から自動生成』パターンと合わせる形で"要素の作成方法"を見てきましたが、いずれにしても1回慣れてしまえば非常に簡単に素材を用意することが出来ることがお分かり頂けたかと思います。全てがブラウザ上で完結する、LookMLの設定如何で要素が作成・管理出来てしまうことの『良さ・凄さ』が徐々に分かりかけて来たような気がしました。