Plataforma moderna de business intelligence integrada ao Google Cloud
Looker é uma plataforma moderna de business intelligence e data platform que foi adquirida pelo Google Cloud em 2020. Diferente de outras ferramentas de BI, Looker utiliza uma abordagem única baseada em código com LookML (Looker Modeling Language) para definir métricas e dimensões de forma consistente em toda a organização, garantindo uma única fonte da verdade para dados empresariais.
Looker foi fundada em 2012 por Lloyd Tabb e Ben Porterfield em Santa Cruz, Califórnia. A empresa revolucionou o mercado de BI ao introduzir o conceito de "modeling layer" com LookML, permitindo que organizações definissem métricas de negócio uma única vez e as reutilizassem em toda a empresa. Em 2020, foi adquirida pelo Google por $2.6 bilhões, tornando-se parte integral do Google Cloud.
Looker utiliza uma arquitetura moderna baseada em web, construída em Ruby on Rails com frontend em JavaScript. A plataforma não armazena dados, mas sim conecta diretamente às fontes de dados (data warehouses) e executa consultas SQL otimizadas. O LookML atua como uma camada de modelagem que traduz conceitos de negócio em SQL, garantindo consistência e governança.
Linguagem de modelagem que define métricas e dimensões de forma consistente e reutilizável.
Arquitetura baseada em APIs permite integrações customizadas e embedding fácil.
Integração nativa com BigQuery, Dataflow, Cloud SQL e todo ecossistema Google.
Dashboards responsivos e interativos com drill-down automático e filtros dinâmicos.
Ações automatizadas baseadas em dados, como envio de emails ou webhooks.
Apps móveis nativas para iOS e Android com dashboards otimizados.
Looker Platform: | Plataforma principal de BI e analytics |
Looker Studio: | Ferramenta gratuita para visualizações básicas (ex-Google Data Studio) |
Looker Embedded: | APIs para embedding analytics em aplicações |
Looker Actions: | Automações e integrações com sistemas externos |
Looker Mobile: | Apps móveis para iOS e Android |
Looker API: | APIs REST para integrações customizadas |
Business intelligence empresarial com governança centralizada e métricas consistentes.
Integração de analytics diretamente em aplicações SaaS e produtos digitais.
Capacitar usuários de negócio a criar suas próprias análises com governança garantida.
Organizações que adotaram Google Cloud e precisam de BI nativo na nuvem.
Análise de comportamento de clientes com métricas padronizadas e ações automatizadas.
# sales.model.lkml
connection: "bigquery_connection"
include: "/views/*.view.lkml"
datagroup: sales_default_datagroup {
sql_trigger: SELECT MAX(updated_at) FROM sales_orders;;
max_cache_age: "1 hour"
}
explore: sales_orders {
join: customers {
type: left_outer
sql_on: ${sales_orders.customer_id} = ${customers.id} ;;
relationship: many_to_one
}
join: products {
type: left_outer
sql_on: ${sales_orders.product_id} = ${products.id} ;;
relationship: many_to_one
}
}
# sales_orders.view.lkml
view: sales_orders {
sql_table_name: `project.dataset.sales_orders` ;;
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension_group: order {
type: time
timeframes: [raw, date, week, month, quarter, year]
convert_tz: no
datatype: date
sql: ${TABLE}.order_date ;;
}
dimension: customer_id {
type: number
sql: ${TABLE}.customer_id ;;
}
dimension: product_id {
type: number
sql: ${TABLE}.product_id ;;
}
measure: total_sales {
type: sum
sql: ${TABLE}.amount ;;
value_format_name: usd
}
measure: average_order_value {
type: average
sql: ${TABLE}.amount ;;
value_format_name: usd
}
measure: order_count {
type: count
drill_fields: [id, order_date, customers.name, products.name]
}
}
# sales_dashboard.dashboard.lookml
- dashboard: sales_performance
title: Sales Performance Dashboard
layout: newspaper
preferred_viewer: dashboards-next
elements:
- title: Total Sales
name: total_sales
model: sales
explore: sales_orders
type: single_value
fields: [sales_orders.total_sales]
limit: 500
- title: Sales by Month
name: sales_by_month
model: sales
explore: sales_orders
type: looker_line
fields: [sales_orders.order_month, sales_orders.total_sales]
sorts: [sales_orders.order_month desc]
limit: 12
- title: Top Products
name: top_products
model: sales
explore: sales_orders
type: looker_bar
fields: [products.name, sales_orders.total_sales]
sorts: [sales_orders.total_sales desc]
limit: 10
# Python SDK Example
import looker_sdk
# Inicializar SDK
sdk = looker_sdk.init40()
# Executar query
query = {
"model": "sales",
"explore": "sales_orders",
"fields": ["sales_orders.order_date", "sales_orders.total_sales"],
"filters": {"sales_orders.order_date": "30 days"},
"sorts": ["sales_orders.order_date desc"]
}
result = sdk.run_inline_query("json", query)
# Criar dashboard
dashboard = {
"title": "API Created Dashboard",
"dashboard_elements": [
{
"title": "Sales Chart",
"type": "looker_line",
"query": query
}
]
}
new_dashboard = sdk.create_dashboard(dashboard)
# Agendar relatório
schedule = {
"name": "Weekly Sales Report",
"dashboard_id": new_dashboard.id,
"scheduled_plan_destination": [
{
"type": "email",
"address": "team@company.com"
}
],
"crontab": "0 9 * * 1" # Segunda-feira às 9h
}
sdk.create_scheduled_plan(schedule)
import { LookerEmbedSDK } from '@looker/embed-sdk';
function SalesDashboard({ customerId }) {
useEffect(() => {
LookerEmbedSDK.createDashboardWithId(123)
.appendTo('#dashboard')
.withFilters({
'sales_orders.customer_id': customerId
})
.build();
}, [customerId]);
return ;
}
Critério | Looker | Tableau | Power BI | Apache Superset |
---|---|---|---|---|
Preço (por usuário/mês) | $35 | $70 | $10 | Gratuito |
Governança de Dados | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
Embedded Analytics | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
Facilidade de Uso | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
Google Cloud Integration | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
Versão Atual: | 24.20 |
Licença: | Comercial |
Linguagem: | LookML, SQL |
Plataforma: | Web, Mobile |
Empresa: | Google Cloud |