🎉

LookMLとは

2023/09/05に公開

これは何?

Looker内にある機能である「LookML」について調べたことをまとめた個人的備忘録。

LookMLとは

LookMLの紹介  |  Looker  |  Google Cloud

LookML は、Looker Modeling Language の略です。
セマンティックデータモデルを作成するためにLookerで使用される言語です。
LookMLを使用して、SQLデータベース内のディメンション、集計、計算、およびデータの関係を記述できます。
  • LookMLは「Looker上で利用できる独自の言語」のことをさす 別にMLや機械学習は関係ない
  • Lookerは、LookMLで記述されたモデルを使用して、特定のデータベースに対するSQLクエリを作成する

google公式より

LookMLの構成

LookMLプロジェクトと呼ばれる箱を起点として大枠3つに分けられている。
この中で主に利用される面が多いのはModelとViews。

  • Model(モデル)
    • Explore
  • Views(ビュー)
    • Dimensions
    • Measures
  • LookML Dashboards(ダッシュボード)

LookMLプロジェクト

  • LookMLを開発する際に最初に作る箱のこと
    • SQLクエリの実行に使用されるオブジェクト、データベース接続、ユーザーインターフェイス要素を記述するファイルのコレクション
  • プロジェクトはLookMLファイルで構成されており、主なものはモデルとビュー
  • これらのファイルは通常Gitリポジトリを介してバージョン管理される(詳しくは後述)
    • モデルファイル: プロジェクトで使用するテーブルとその結合方法に関する情報
    • ビューファイル: 各テーブルに関する情報の計算方法

モデル(モデルファイル)

  • データベース接続とその接続を使用する一連の設定・探索情報(Explore)が管理されている
    • 「どのデータテーブルを使用し、必要に応じてそれらを組み合わせる方法」を定義する場所
  • モデルファイルにはどのデータベースと接続するかを指定する
    • モデルファイルに指定できるデータベース接続は1つのみ
  • 1つのLookMLプロジェクト上に複数のモデルファイルを存在させることができる

ビュー(ビューファイル)

※ビューとビューファイルの概念が分かりにくかったため、それぞれを記載

ビュー:LookMLにおけるデータの抽出元や加工
ビューファイル:ビューにおける設定などが記述されたファイル
  • データベースのテーブルをLookMLオブジェクトにしたもの
    • データベースに存在しているデータであれば、Looker上に論理的に作成することが可能
  • モデルファイルで挙げた「explore」の定義にはビューが必要になる

「ビューファイルについてもう少し知りたい」という場合は以下参照
モデルファイルとビューファイルを理解する  |  Looker  |  Google Cloud

ビューの種類

  • 標準ビュー
    • データベーステーブルの既存の内容を抽象化したもの
  • 派生テーブル
    • クエリ結果をデータベース内の実際のテーブルのように利用できるクエリのこと
      • テーブル自体はキャッシュ上で保存されており、一時的に利用できる(一時テーブルといったほうがわかりやすいか)
    • 作成には以下2つの手法がある
  • 永続的な派生テーブル
    • 基盤となるデータベースに書き戻されるテーブル

ダッシュボード(ダッシュボードファイル)

<補足>

Looker上ではダッシュボードには2種類ある。

  • ユーザー定義のダッシュボード: LookMLを使用せずに、デベロッパー以外のユーザーでも作成できる
  • LookMLダッシュボード: LookMLを使用して作成したダッシュボード

ここでは2つ目「LookMLダッシュボード」について記載する。

  • 通常のダッシュボードであれば、GUI上で作成されるため「ダッシュボード」に対してバージョン管理やコード管理を行うことはできない
  • LookMLダッシュボードを作成すれば、GitHub上にコード化したダッシュボードの情報を保存をし、変更することができる

Discussion