Looker Blocks

Looker BlocksTM は、一般的な分析パターンやデータソースに対応した事前構築済みデータモデルです。ゼロから作成するのではなく、他のデベロッパーがすでに行った作業を再利用し、それぞれのブロックをそれぞれの仕様に合わせてカスタマイズします。最適化された SQL パターンや設定が不要なデータモデルまで、Looker Blocks をテンプレートとして使用することで、Looker でスピーディかつ柔軟にデータをモデル化できます。

使用可能なブロック

Looker Blocks には多くの選択肢があります。現在利用可能なブロックを確認するには、Looker Marketplaceブロック セクションをご覧ください。

Looker のブロックは、データの分析をより簡単かつ効率的にするために作成されました。これらは「現状」で利用可能です。つまり、今後の更新は行われません。Looker は、このデータが正確、信頼性、またはエラーがないことを保証または保証できません。データの収集方法や解釈方法について詳しくは、ドキュメントに掲載されているデータソース サイトをご覧ください。

興味があるブロックをクリックすると、具体的な使用手順が表示されます。

一部の Looker Blocks は、Looker Marketplace を使用してすばやく簡単にインストールできます。Looker Marketplace を通じてブロックをデプロイする前に、Looker 管理者が Marketplace 機能を有効にしている必要があります。local_dependency パラメータを含むブロックをインストールするには、ローカル プロジェクト インポート ラボ機能も有効にする必要があります。Looker Marketplace から入手できる Looker Blocks のインストールとカスタマイズについて詳しくは、Looker Marketplace のドキュメント ページをご覧ください。

標準化とカスタマイズ

local_dependency パラメータを含む既存のブロックでビルドする前に、Looker 管理者が [Local Project Import] Labs 機能を有効にする必要があります。

さまざまなブロックの使いやすさは、データベース スキーマが標準化される度合いによって異なります。ほとんどの Looker Blocks は、データスキーマに合わせてカスタマイズする必要があります。ただし、データブロックは実装が最も簡単ですが、カスタマイズはできません。

  • データブロック(一般公開データセットと完全な LookML モデルの両方を含む)の場合、モデル化テーブルにアクセスするには、GitHub リポジトリから LookML モデルをコピーするだけです。詳細な手順については、このページのデータブロックの使用をご覧ください。

  • Segment や Snowplow などのデータ収集アプリケーションでは、比較的標準化された形式でイベントを追跡します。これにより、データ クレンジング、変換、分析が可能なテンプレート化された設計パターンを作成できます。これらのテンプレートは、これらのアプリケーションを使用するすべてのお客様にご利用いただけます。

  • 他のウェブ アプリケーション(Salesforce など)では、内部ユーザーにカスタム フィールドを追加できます。このため、当然ながら、データは標準化されていない形式で作成されます。結果として、分析を開始するためにデータモデルの一部をテンプレート化することはできますが、標準化されていない部分をカスタマイズする必要があります。

  • 最後に、一般的なビジネス インサイトのブロックがあります。これらは、データソースに依存しない、最適化された SQL または LookML の設計パターンです。たとえば、多くの企業は顧客のライフタイム バリューの推移を分析したいと考えています。これらのパターンにはいくつかの前提条件が組み込まれていますが、特定のビジネスニーズに合わせてカスタマイズできます。これらのパターンは、特定の種類の分析を行うための最適な方法に関する Looker の視点を反映しています。

Looker を初めて利用する方は、Looker アナリストがモデルを最大限に活用できるようお手伝いします。

LookML にブロックを追加する

  • 一部のブロックは、同じファイル内の Explore とビューの両方を示しています。これを作業でわかりやすくするために、LookML の適切なセクションをデータモデルの適切な場所にコピーすることをおすすめします。詳細については、モデルファイルとビューファイルについてのドキュメント ページをご覧ください。
  • 場合によっては、データモデルに新しい LookML ファイルを作成して、例を格納したい場合があります。

データブロックの使用

データブロックは、データセットとデータモデルを提供する特殊なタイプの Looker Block です。Looker データブロックには、次のような一般公開データソースが含まれます。

  • ユーザー属性データ: 米国コミュニティ アンケートの主要なユーザー属性(州、郡、郵便番号集計エリア、国勢調査ブロック グループ単位)が表示されます。
  • 気象データ: 米国の気象情報(1920 ~前日までの郵便番号レベル)このブロックは夜間に更新されます。

現在利用可能なブロックの完全なリストについては、Looker Marketplaceブロック セクションをご覧ください。

異なるデータベース上のデータセットにアクセスする

データブロックのデータセットにアクセスする手順は、データベース スキーマによって異なります。以降のセクションでは、これらのデータベースのデータセットにアクセスする手順について説明します。

Google BigQuery のデータセットにアクセスする

既存の Google BigQuery アカウントをお持ちの場合、Looker でホストされた BigQuery データセットにアクセスできます。このページのプロジェクトへのデータブロックの追加に進んでください。

Google BigQuery アカウントをまだお持ちでない場合は、無料トライアルを設定して、BigQuery で Looker の一般公開データセットにアクセスできます。

Google BigQuery では、リージョン間のプロジェクト共有はサポートされていません。Google BigQuery のデータブロックに米国リージョン外から直接アクセスする方法は次のとおりです。

Snowflake 上のデータセットへのアクセス

Looker ホスト型の Snowflake データ ウェアハウスにアクセスし、データ共有を使用して Looker の一般公開データセットにアクセスできます。

Snowflake は、リージョン間のプロジェクト共有をサポートしていません。米国リージョン外から Snowflake 内のデータブロックに直接アクセスするには、次の操作を行います。

まず、以下の情報を添えて Looker アナリストに連絡してください。

  • お客様名: <Company1>
  • お客様の Looker インスタンス: <instance_name.looker.com>
  • Snowflake アカウント名: <company1.snowflakecomputing.com>

Looker の運用チームが Snowflake アカウントにデータブロックへのアクセス権を付与したら、次のコマンドを実行して Looker の一般公開データセットにアクセスします。

&#8208;&#8208; Data Consumer Side (* Need to be ACCOUNT ADMIN *)
&#8208;&#8208; For customers in us-west region
create database looker_datablocks from share looker.looker_share_datablocks;

&#8208;&#8208; For customers in us-east region
create database looker_datablocks from share gt97609.looker_share_datablocks;

grant imported privileges on database looker_datablocks to role sysadmin;

use role sysadmin;

grant imported privileges on database looker_datablocks to &#60;other_role&#62;;

show databases;

use looker_datablocks;

show tables;

独自の Snowflake データ ウェアハウスで Looker の一般公開データセットのいずれかを使用している場合、Looker ユーザーには PDT を作成するためのデータベース書き込み権限が必要です。Looker を Snowflake に接続する方法については、Snowflake 構成のドキュメントをご覧ください。

他のデータベース上のデータセットへのアクセス

Amazon Redshift をご利用ですか?MySQLPostgreSQL?Oracle?

Google は、これらの各データセットに変換済みデータを GCS と S3 の両方で一般公開しており、任意のデータベースに直接インポートできるようになっています。

また、GitHub リポジトリにある各データセットに対して、データ定義言語(DDL)を利用できるようにしました。選択したデータベースのデータ型に対して DDL ステートメントの変更が必要になることがありますが、各テーブルの列の型を確認してください。

次のいずれかの場所からデータを直接ダウンロードします。

LookML モデルへのアクセス

GitHub リポジトリの 1 つを新しい GitHub リポジトリ(Looker または会社でホストされている)にフォークして、インスタンス内で拡張または絞り込みを行うことができます。

プロジェクトへのデータブロックの追加

このセクションで説明するメソッドに加えて、LookML の絞り込みを使用して、プロジェクト内のビューと Explore の LookML をビルドすることもできます。

local_dependency パラメータを含むデータブロックでビルドする前に、Looker 管理者が [Local Project Import] Labs 機能を有効にする必要があります。

プロジェクトにデータブロックを追加するには:

  1. Looker インスタンスに新しいプロジェクトを追加します。

  2. フォークするか、上記の GitHub リポジトリをコピーして、事前構築された LookML にアクセスします。新しい GitHub リポジトリを作成してください。

  3. その他のデータベース言語ファイルをリポジトリから削除します。Looker Blocks には通常、Google BigQuery、Amazon Redshift、Snowflake のファイルが含まれます。たとえば、Google BigQuery でデータブロックを設定する場合、必要なのは Google BigQuery ビューファイル、Google BigQuery Explore ファイル、Google BigQuery モデルファイルのみです。

  4. モデルファイルの接続名を、データブロックのデータが存在するデータベース接続に置き換えます。Google BigQuery と Snowflake の場合は、拡張または調整する既存のデータベース接続に置き換えます。

    すべての結合ロジックは、各リポジトリの .explore ファイルに存在します。このファイルは、プロジェクト マニフェストの設定後に次の手順で追加します。

  5. データブロックを拡張または調整するメインの Looker プロジェクトで、プロジェクト マニフェスト ファイルを作成します。

  6. プロジェクト マニフェスト ファイルに次の LookML を追加して、メインの Looker プロジェクトのデータブロックを参照します。

    project_name: "<your_project_name\>"

    local_dependency: {
      project: "<project_name_of_datablock\>"
    }

設定に関する考慮事項とオプション

Google BigQuery: 正しいモデルファイルのセットを使用してください。Google BigQuery を使用している場合は、ファイル名に _bq_ が含まれるすべてのファイルを参照できます。Google の BigQuery モデル言語を独自のデータベース言語に適合させる必要がある場合があります。

Google BigQuery では、リージョン間のプロジェクト共有はサポートされていません。Google BigQuery のデータブロックに米国リージョン外から直接アクセスする方法は次のとおりです。

拡張機能: すべてのプロジェクトは、Explore のファイルからの拡張機能を許可するように設定されています。これは、モデル拡張機能が複数の接続で問題を引き起こす可能性があるためです。

派生テーブルの結合: ネイティブ派生テーブルに関するドキュメントもご覧ください。一般公開されているデータセットに対して、さまざまなレベルの集計で Looker が自動的に SQL を記述し、それらをモデルに結合できます。

結果セットの結合: クエリ結果セットを結合して、データセットから結果セットを結合することもできます。データの統合について詳しくは、こちらの短い動画をご覧ください。

ユーザー属性データセットの設定例

  1. S3 または GCS バケットから元データをダウンロードするか、Looker データベースに接続して、データにアクセスします。

  2. ユーザー属性データブロックモデルを LookML から別のプロジェクトとして Looker インスタンスにインポートします。

  3. include パラメータを使用して、ビューファイルを取り込みます。

  4. 次に、ビューファイルを拡張または絞り込みるか、ネイティブ派生テーブルを利用して、Explore に必要な集計レベルでデータを取得します。

    この例では、ユーザー属性データは e コマースのデータセット(ブロックグループと郵便番号)の集計レベルが異なるため、ネイティブ派生テーブルを使用して、郵便番号レベルまでのデータを集計することができます。これにより、乱雑な多対多の結合がなくなります。

    include: "/american_community_survey/bq.explore"

    view: zipcode_income_facts {
      derived_table: {
        persist_for: "10000 hours"
        explore_source: fast_facts {
          column: ZCTA5 { field: tract_zcta_map.ZCTA5 }
          column: income_household { field: bg_facts.avg_income_house }
          column: total_population { field: bg_facts.total_population }
        }
      }
      dimension: ZCTA5 {}
      dimension: income_household {
        hidden: yes
      }
  1. ビューファイルをモデルに結合する:
    include: "acs*.view"

    explore: order_items {
      join: users {
        sql_on: ${users.id} = ${order_items.user_id} ;;
        type: left_outer
        relationship: many_to_one
      }

      join: zipcode_income_facts {
        sql_on: ${users.zip} = ${zipcode_income_facts.ZCTA5} ;;
        type: left_outer
        relationship: many_to_one
      }
    }
  1. データを探索する:

  2. データを可視化する:

viz ブロックの使用

Looker には、ネイティブのさまざまな可視化タイプがあります。ただし、Looker のネイティブのビジュアリゼーション タイプでは対応できないグラフ作成が必要な場合は、独自のカスタム ビジュアリゼーション タイプを追加することもできます。カスタム ビジュアリゼーションを開発して、Looker Marketplace からすべての Looker ユーザーが利用できるようにすることもできます。

Viz ブロックは、Looker によってホストされる事前構築済みの JavaScript ビジュアリゼーション タイプです。Viz のブロックは、Looker インスタンスに追加できます。これは、Looker のネイティブ ビジュアリゼーション タイプと同様に機能します。ビジュアリゼーション メニューバーに表示され、ドリルダウン、ダウンロード、埋め込み、スケジュールなどの重要な機能が含まれます。

viz ブロックの詳細を確認するには、Looker Marketplace の [Plug-ins] セクションでビジュアリゼーションのタイプを選択し、[See the Code] をクリックして viz ブロックの READ.ME ファイルに移動してください。READ.ME ファイルには、可視化の例と、viz ブロックに関する詳細情報が表示されます。一部の可視化では、READ.ME ファイルに viz ブロックを追加するための URL と手順が記載されます。

ビジュアリゼーションのタイプをインスタンスに追加するには、READ.ME ファイル(存在する場合)の手順とビジュアリゼーションのドキュメント ページをご覧ください。