[レポート] カスタマイズされたツールでLookML開発を”拡張”させる – Looker:JOIN 2019 at San Francisco #looker #JOINdata

2019.11.27

現地時間2019年11月05日〜07日の期間、米国サンフランシスコで開催されているLookerの年次カンファレンスイベント『JOIN 2019』。今年2019年のイベントは、弊社から3名のメンバーが現地参戦しました。

参加レポート各種については下記シリーズをご参照ください。

当エントリでは、その中からブレイクアウトセッション『Extending LookML Development with Customized Tools(カスタマイズされたツールでLookML開発を"拡張"させる)』の内容について参加レポートをお届けします。

目次

 

セッション概要

セッションの概要は以下の通りです。

[登壇者情報]:
・Dylan Baker (Founder, Consultant / DBAnalytics)
・Josh Temple (Senior Data Engineer / Milk Bar)
・Steven Talbot (Staff Software Engineer / Looker)

[セッション情報]:
Extending LookML Development with Customized Tools
(カスタマイズされたツールでLookML開発を"拡張"させる)

All good developers rely heavily on open-source tooling to increase the pace of their development and avoid reinventing the wheel. As more developers adopt Looker, so grows the need for open-source tooling to similarly enhance the pace of LookML development. In this session, we’ll explain why you may want to consider adopting existing open-source tooling on top of Looker. We’ll also discuss existing open-source solutions and explore the problems they help solve. Finally, we’ll provide a framework for evaluating whether these tools are right for you.
(すべての優秀な開発者は、開発のペースを上げ、車輪の再発明を避けるために、オープンソースのツールに大きく依存しています。 Lookerを採用する開発者が増えるにつれて、LookML開発のペースを同様に向上させるためのオープンソースツールの必要性が高まっています。 このセッションでは、Lookerの上に既存のオープンソースツールを採用することを検討する理由を説明します。 また、既存のオープンソースソリューションについて説明し、解決に役立つ問題を調査します。 最後に、これらのツールが適切かどうかを評価するためのフレームワークを提供します。)

 

セッションレポート

このセッションでは、Looker及びLookMLを開発する上で有用となる『オープンソースツール』に関する紹介がなされました。大きく分けて以下5個のカテゴリに分けて、それぞれピックアップされた形となります。

 

Parsers

LookMLのプロジェクトや設定を入力とし、それらの情報を解釈する『パーサー』ツール。

fabio-looker/node-lookml-parser

Node.js製のLookML Parser。

joshtemple/lkml

Python製のLookML Parser。

 

Generators

他の入力要素からLookMLを生成する『ジェネレータ』ツール。

joshtemple/lkml

上記で紹介していたlkmlはGeneraotorとしても利用可能です。

ww-tech/lookml-tools Updater

このリポジトリには、LookMLファイルで作業するベストプラクティスを処理するためのツールが含まれています。

『LookML updater』は、『ビジネス用語集』のような、ディメンションとメジャーの公式な定義集の同期の問題を解決するのに役立ちます。指定されたLookMLディメンション、dimension_group、またはmeasureのリモート定義を指定すると、それをLookMLに反映します。

symphonyrm/lookml-gen

Pythonコードを使ってLookMLオブジェクトを生成するツール。

 

Visualizers & Informational

Lookerとは別の可視化手法によってLookMLを理解することが出来るツール。

ww-tech/lookml-tools Gpahper

前述の『lookml-tools』の中に含まれる可視化ツール。

モデル探索ビューの「ネットワーク図」を生成し、孤立しているビューを強調表示する機能も有しています。

looker-open-source/henry

 

Linters

開発中のLookMLコードの構文解析を行うツール。

warbyparker/lookmlint

9つのツールを含み、CircleCIで利用可能。pythonで記述されており、ツールを追加して分岐させることも可能になっています。

looker-open-source/look-at-me-sideways

12のルールを含み、MarkdownファイルをリポジトリやLooker IDEに出力。

JSで記述され、外部JSを介して、またフォークに加えて、LISP式を介してカスタムルールを受け入れることが可能になっています。

ww-tech/lookml-tools Linter

10のルールを含み、CSVファイルまたはBigQueryのテーブルに結果を出力可能。Pythonで記述されており、フォークしてファイルを追加することも可能。

ルールの一覧。

 

Testing

LookMLを実際のインスタンスやデータに対してテストするツール。

Spectacles

このセッションでは、以前投稿したエントリでも紹介されていた『Spectacles』について言及していました。

 

まとめ

以上、Looker:JOIN 2019ブレイクアウトセッション『Extending LookML Development with Customized Tools(カスタマイズされたツールでLookML開発を"拡張"させる)』の参加レポートでした。

セッション時間は30分と短く、それぞれのツールの紹介も簡単なものに留まっていましたが、多岐にわたる分野でLookerやLookMLに関するオープンソースプロダクトがこんなに存在していたというのは驚きでした。いずれも業務が増えてくると『こんなのがあると/出来ると便利なのにな〜...』というようなリクエストを満たすものばかりな印象です。プロジェクトの初期段階から取り込めていると諸々捗ると思うので、各種ツールを選定の上、『これだ!』というのを採用してみてはいかがでしょうか。

※同名タイトルでLooker社のブログエントリも公開されていましたのでこちらに共有しておきます。