---
title: "Looker"
description: "Looker is Google Cloud's enterprise BI platform built around LookML, a version-controlled semantic modeling layer that sits between a database and its dashboards."
canonical: "https://motherduck.com/glossary/looker/"
related:
  - title: "Looker + MotherDuck Integration | DuckDB Analytics"
    url: "https://motherduck.com/ecosystem/looker/"
  - title: "DuckLake Architecture Deep Dive"
    url: "https://motherduck.com/blog/ducklake-architecture-deep-dive/"
  - title: "Business Intelligence Tools | MotherDuck Docs"
    url: "https://motherduck.com/docs/integrations/bi-tools/"
gated_asset:
  title: "DuckLake on MotherDuck"
  url: "https://motherduck.com/product/ducklake/"
---

# Looker

> Looker is Google Cloud's enterprise BI platform built around LookML, a version-controlled semantic modeling layer that sits between a database and its dashboards.

## Overview

Looker is a business intelligence and data platform, part of Google Cloud since its 2020 acquisition. Its defining feature is **LookML**, a modeling language that defines dimensions, measures, and joins once, in version-controlled files, so that every dashboard and ad hoc "Explore" built on top reuses the same governed definitions of metrics like revenue or active users. This centralizes business logic in one place instead of re-deriving it in every downstream query or spreadsheet.

<glossary-callout guide="guide-to-bi-in-the-agentic-era-full" />

## How Looker fits in a stack

Looker doesn't store or process data itself — it compiles LookML into SQL and pushes it down to whatever database it's connected to (BigQuery, Snowflake, Postgres, and many others via native or generic connections). Analysts and less-technical users then browse the modeled data through Explores without writing SQL, while analytics engineers maintain the LookML model in Git, with code review and CI for changes to metric definitions.

```lookml
view: orders {
  sql_table_name: analytics.orders ;;

  dimension: order_id {
    primary_key: yes
    type: string
    sql: ${TABLE}.order_id ;;
  }

  measure: total_revenue {
    type: sum
    sql: ${TABLE}.order_total ;;
  }
}
```

## Looker and DuckDB / MotherDuck

Looker doesn't have a native DuckDB dialect. To point Looker at DuckDB-backed data, the practical path is MotherDuck's Postgres-compatible endpoint: Looker connects to it as if it were a Postgres database, and queries get executed against MotherDuck's DuckDB engine underneath. That gives a team the option to model DuckDB/MotherDuck data in LookML and serve it through Looker's semantic layer and dashboards without needing a native connector.