Looker Blocks™ は一般的な分析パターンとデータソースのための事前構築済みデータモデルです。ゼロから始めるのではなく、他の人がすでに作った成果物を再使用し、仕様に正確に合わせてブロックをカスタマイズしていきます。 最適化された SQL パターンや設定が不要なデータモデルまで、Looker Blocks をテンプレートとして使用することで、Looker でスピーディかつ柔軟にデータをモデル化できます。
使用可能なブロック
さまざまな Looker Block から選択できます。使用可能なブロックを確認するには、Looker Marketplace の ブロック セクションをご覧ください。
関心のあるブロックをクリックすると、具体的な使用手順が表示されます。
一部の Looker Block は、Looker Marketplace を使用してすばやくインストールできます。Looker Marketplace を通じてブロックをデプロイする前に、Looker 管理者が Marketplace 機能を有効にしている必要があります。local_dependency
パラメータを含むブロックをインストールするには、ローカル プロジェクトのインポートラボ機能も有効にする必要があります。Looker Block のインストールとカスタマイズの詳細については、Looker Marketplace で提供されている Looker Marketplace のドキュメント ページをご覧ください。
標準化とカスタマイズ
さまざまなブロックの使いやすさは、データベース スキーマが標準化されている度合いによって異なります。ほとんどの Looker Block は、データスキーマに合わせていくつかのカスタマイズが必要になります。ただし、データブロックは実装が最も簡単ですが、カスタマイズはできません。
データブロックには一般公開データセットと完全な 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 の一般公開データセットにアクセスできます。
他のデータベースのデータセットにアクセスする
Amazon Redshift、MySQL、PostgreSQL、Oracle のいずれを使用していますか?
Google Cloud サービスと S3 の両方で、これらの各データセットに変換されたデータを公開し、選択したデータベースに直接インポートできるようになりました。
また、GitHub リポジトリの各データセットに対してデータ定義言語(DDL)を使用できるようにしました。DDL ステートメントで、選択したデータベースのデータ型を変更する必要があるかもしれませんが、各テーブルの列の型についての概念が必要です。
次のいずれかの場所からデータを直接ダウンロードします。
- Google Cloud サービス:
_gs://looker-datablocks/_
- S3:
_s3://looker-datablocks/_
- S3 バケット ウェブリンク: http://looker-datablocks.s3-website-us-east-1.amazonaws.com/
LookML モデルにアクセスする
GitHub リポジトリの一つを新しい GitHub リポジトリ(Looker でホスト、または自社でホスト)にフォークし、インスタンス内でextendまたは絞り込みます。
- ユーザー属性データ(アメリカ地域社会調査) - https://github.com/llooker/datablocks-acs
- 天気(GSOD) - https://github.com/llooker/datablocks-gsod
プロジェクトにデータブロックを追加する
このセクションで説明する方法に加えて、LookML の絞り込みを使用して、プロジェクト内のビューと Explore の LookML をベースにビルドすることもできます。
プロジェクトにデータブロックを追加するには:
Looker インスタンスに新しいプロジェクトを追加します。
プレビルドされた LookML にアクセスするには、前述の GitHub リポジトリをフォークするかコピーします。必ず新しい GitHub リポジトリを作成してください。
リポジトリから他のデータベース言語ファイルを削除します。Looker Block には通常、Google BigQuery、Amazon Redshift、Snowflake 用のファイルが含まれます。たとえば、Google BigQuery にデータブロックを設定する場合は、Google BigQuery ビューファイル、Google BigQuery Explore ファイル、Google BigQuery モデルファイルのみが必要です。
モデルファイルの接続名を、データブロックのデータが存在するデータベース接続に置き換えます。Google BigQuery または Snowflake を使用している場合は、拡張または絞り込みの元となるデータベース接続を使用します。
結合ロジックはすべて、各リポジトリの
.explore
ファイルに存在します。これは、プロジェクト マニフェストの設定後、次の手順に含まれるファイルです。データブロックを拡張または絞り込むメインの Looker プロジェクトで、プロジェクト マニフェスト ファイルを作成します。
メインの Looker プロジェクトのデータブロックを参照するように、プロジェクトのマニフェスト ファイルに次の LookML を追加します。
project_name: "<your_project_name\>"
local_dependency: {
project: "<project_name_of_datablock\>"
}
設定の考慮事項とオプション
Google BigQuery: 正しいモデル化されたファイルセットを使用してください。Google BigQuery を使用している場合は、ファイル名に _bq_
を含むすべてのファイルを参照する場合があります。Google BigQuery モデルの言語を独自のデータベース言語に適応させることが必要な場合があります。
拡張機能: モデルの拡張機能は複数の接続で問題を引き起こす可能性があるため、すべてのプロジェクトは、Explore ファイルの拡張機能を許可するように設定されています。
派生テーブルの結合: ネイティブ派生テーブルのドキュメントをご覧ください。公開されているデータセットに対してさまざまなレベルの集計を行い、Looker で SQL を記述し、モデルに結合させることができます。
結果セットの結合: クエリ結果セットを結合して、Google のデータセットから結果セットを結合することもできます。
ユーザー属性データセットの設定例
S3 バケットまたは Google Cloud サービス バケットから元データをダウンロードするか、Looker データベースに接続してデータにアクセスします。
LookML からDemographic データブロック モデルを Looker インスタンスで別のプロジェクトとしてインポートします。
include
パラメータを使用してビューファイルを読み込みます。次に、ビューファイルをextendまたは絞り込むか、ネイティブ派生テーブルを利用して、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 }
ビューファイルをモデルに結合します。
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 } }
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
ファイルは URL と viz ブロックを追加する手順も示します。
ビジュアリゼーション タイプをインスタンスに追加する方法については、READ.ME
ファイル(存在する場合)の手順をご覧ください。また、ビジュアリゼーションのドキュメント ページに記載されている情報もご覧ください。