1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

プライベート・リポジトリからのプロジェクト・インポート

Last updated at Posted at 2019-04-23

Looker 6.8のリリースにおいて、プライベート・リポジトリに対してリモート・プロジェクト・インポートが可能になりました。以前のリリースにおいて、他のリポジトリにあるLookMLプロジェクトをインポートする機能はありましたが、今回のリリースにおいてプライベート・リポジトリに対応したことにより、企業内で「ハブ・アンド・スポーク」アーキテクチャによるLookMLの開発が可能になります。
こちらのImporting Files from Other Projectsにて記載のインポート内容に、プライベート・リポジトリのインポート方法を追記したものになります。
##企業向けプロジェクトのインポート:「ハブ・アンド・スポーク」アーキテクチャ##
ご利用組織が大きくなってくると、開発チームがすべての部門のデータニーズを管理できなくなり、ある程度の委任が必要となってきます。各部署が管理できるようにプロジェクトを分割と同時に、一貫性を維持していく必要があります。
この場合、プロジェクトのインポートを使用して、一元化された、統制のとれたビジネスロジックを各部門のプロジェクトに展開できます。これを「ハブ・アンド・スポーク」アーキテクチャと呼びます。
ハブ・アンド・スポークアーキテクチャでは、データチームがコアプロジェクト(「ハブ」)を管理し、各部門が独自のプロジェクト(「スポーク」)を管理します。ハブにはユニバーサルビジネスロジックが含まれていますが、スポークにはドメイン固有のロジックが含まれています。プジェクトのインポートによってこのアーキテクチャが実現できます。
##設定手順##
このモデルで開発をするためには、以下が必要になります。

  1. Git上でのハブおよびスポークそれぞれのリポジトリ
  2. Lookerでインポート機能の有効化
  3. ハブ側プロジェクトでのマニュフェストファイルの作成
  4. インポート・リポジトリに対しての認証設定
  5. リモートリポジトリのファイル参照
    ###Git上でのハブおよびスポークそれぞれのリポジトリ###
    Lookerの開発でご利用いただいているGitリポジトリがあると思いますので、分割対象となるプロジェクトそれぞれでリポジトリを用意してください。
    ###インポート機能の有効化###
    この機能は、現在ベータ版として提供されています。管理者パネルからLabsセクションを開いて頂き、Project ImportのトグルをONにしてください。
    Screen Shot 2019-04-09 at 10.19.48.png
    ###ハブ側プロジェクトでのマニュフェストファイルの作成###
    インポートをするプロジェクトで、マニュフェストファイルを追加します。
    Screen Shot 2019-04-09 at 10.28.39.png
    以下のようにコードを追加します。バージョンを指定する必要があります
manifest.lkml
project_name:"プロジェクト名"

remote_dependency: 参照名 {
  url:"user@path.to.repository.git"
  ref:"参照するバージョンのSHAキー"
}

###インポート・リポジトリに対しての認証設定###
上記のマニフェストファイルを追加すると、プロジェクト設定画面において、以下のようにImport Credentialsというタブが表示されます。
project_settings.png
次に、Editアイコンをクリックすると以下のようにデプロイキーが表示されますので、コピーしてインポート元のGitリポジトリに追加します。(インポート元のプロジェクトを変更する必要が無いと思いますので、write_accessは不要です)
deployKey.png
デプロイキーの設定が完了後にLookerのプロジェクト設定画面に戻り、Testボタンをクリックすると正常にファイルをインポートできるかを確認できます。
Screen Shot 2019-04-09 at 10.47.47.png
###リモートリポジトリのファイル参照###
インポートの設定が完了したら、以下のようにViewを拡張したり

extended_order.view.lkml
include: "//sample1/order_items.view.lkml"
view: extended_order {
  extends: [order_items]
  dimension: tax {
    type: number
    sql: ${sale_price} * 0.08 ;;
  }
  measure: total_tax {
    type: number
    sql: ${total_revenue} * 0.08 ;;
  }
  measure: total_revenue_with_tax {
    type: number
    sql: ${total_revenue} + ${total_tax} ;;
  }
}

modelを拡張することが可能です。

include: "*.view.lkml"                       # include all views in this project
include: "//sample1/*.view.lkml"
include: "//sample1/*.model.lkml"

explore: extended_order {
}

いかがでしたでしょうか。弊社では、Looker Blocksという、分析パターンやデータソースがわかっている場合には、そのままお使いいただけるLookMLコードをご提供しておりますので、上記方法で参照していただくことも可能です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?