Introdução ao LookML

LookML, abreviação de Looker Modeling Language, é a linguagem usada no Looker para criar modelos de dados semânticos. É possível usar o LookML para descrever dimensões, agregados, cálculos e relações de dados em seu banco de dados SQL. O Looker usa um modelo escrito em LookML para criar consultas SQL em um banco de dados específico.

LookML é uma linguagem de dependência como make, e não uma linguagem imperativa como C ou Ruby. O LookML fornece sintaxe e tipos de dados predefinidos para modelagem de dados. Você não precisa ter experiência com linguagens de programação para entender o LookML. O LookML é independente de dialetos SQL específicos e encapsula expressões SQL para oferecer suporte a qualquer implementação de SQL.

Para analistas de dados, o LookML promove o estilo DRY (do inglês "don't repeat yourself", ou "não se repita", em tradução livre), ou seja, você escreve expressões SQL uma vez, em um lugar, e o Looker usa o código repetidamente para gerar consultas SQL ad hoc. Os usuários empresariais podem usar os resultados para criar consultas complexas no Looker, concentrando-se apenas no conteúdo necessário, não nas complexidades da estrutura SQL.

Projetos do LookML

O LookML é definido em projetos. Um projeto do LookML é uma coleção de arquivos que inclui pelo menos arquivos de modelo e de visualização e, opcionalmente, outros tipos de arquivos, que geralmente são controlados pela versão em um repositório do Git. Os arquivos de modelo contêm informações sobre quais tabelas o projeto vai usar e como elas devem ser mescladas. Os arquivos de visualização descrevem como as informações são calculadas sobre cada tabela (ou em várias tabelas, se as mesclagens permitirem).

O LookML separa a estrutura do conteúdo, portanto, a estrutura da consulta (como as tabelas são mescladas) é independente do conteúdo da consulta (as colunas a acessar, os campos derivados, as funções de agregação a calcular e as expressões de filtragem a serem aplicadas).

As consultas do Looker são baseadas em arquivos de projeto do LookML. Os analistas de dados usam o LookML para criar e manter modelos que definem a estrutura e as regras de negócios dos dados que estão sendo analisados. O gerador de SQL do Looker traduz o LookML em SQL, o que permite que os usuários comerciais façam consultas sem programar em LookML ou SQL.

Os usuários corporativos usam o criador de consultas do Looker ou a interface de Análise detalhada para criar consultas com base no modelo de dados definido pelos analistas do Looker. Os usuários podem selecionar dimensões, medições e filtros para criar consultas personalizadas baseadas nas próprias perguntas e gerar os próprios insights.

Quando um usuário cria uma consulta, ela é enviada ao gerador SQL do Looker, que a converte em SQL. A consulta SQL é executada no banco de dados, e o Looker retorna os resultados formatados ao usuário na interface de análise detalhada. O usuário pode visualizar os resultados e gerar insights.

Para mais detalhes sobre os elementos fundamentais do LookML em um projeto e como eles se relacionam entre si, consulte Termos e conceitos do LookML.

O que os usuários veem

A forma como o projeto é configurado e o conteúdo específico dos arquivos determinam o que os usuários veem e como eles podem interagir com o Looker.

  1. O painel "Explorar" no painel de navegação à esquerda é organizado pelos nomes dos modelos. Abaixo de cada nome de modelo, há uma lista de Análises disponíveis definidas nele.
  2. Os usuários podem pesquisar uma seção específica do Google Notícias.
  3. Os desenvolvedores podem definir descrições para as Análises, que os usuários podem conferir ao passar o cursor sobre o nome da Análise no menu Análise.

  4. O painel seletor de campos é organizado por nomes de visualização. Abaixo de cada nome de visualização, há uma lista de campos disponíveis das tabelas incluídas nessa visualização. A maioria das visualizações mostra dimensões e métricas. Este exemplo seleciona uma dimensão Mês de um grupo de dimensões Data retornada, definido no arquivo de visualização.

  5. Os usuários podem selecionar várias medidas para basear a consulta.

  6. Os usuários podem aplicar opções como filtros e pivots no painel de seleção de campos.

  7. Os usuários podem refinar os termos da consulta.

  8. Os usuários podem escolher um tipo de visualização para aplicar aos resultados da consulta.

  9. A execução dessa Análise gera uma consulta SQL que retorna uma tabela de dados e uma visualização do preço promocional total e da margem bruta total dos pedidos devolvidos no último ano.

Exemplo de código

O exemplo de código a seguir mostra um projeto mínimo do LookML para uma loja de e-commerce, que tem um arquivo modelo (ecommercestore.model.lkml) e dois arquivos de visualização (orders.view.lkml e customers.view.lkml):

######################################
# FILE: ecommercestore.model.lkml    #
# Define the explores and join logic #
######################################
connection: order_database
include: "*.view.lkml"
explore: orders {
  join: customers {
    sql_on: ${orders.customer_id} = ${customers.id} ;;
  }
}

##########################################################
# FILE: orders.view.lkml                                 #
# Define the dimensions and measures for the ORDERS view #
##########################################################
view: orders {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: customer_id {      # field: orders.customer_id
    sql: ${TABLE}.customer_id ;;
  }
  dimension: amount {           # field: orders.amount
    type: number
    value_format: "0.00"
    sql: ${TABLE}.amount ;;
  }
  dimension_group: created {                # generates fields:
    type: time                              # orders.created_time, orders.created_date
    timeframes: [time, date, week, month]   # orders.created_week, orders.created_month
    sql: ${TABLE}.created_at ;;
  }
  measure: count {             # field: orders.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # list of fields to show when someone clicks 'ORDERS Count'
  }
  measure: total_amount {
    type: sum
    sql: ${amount} ;;
  }
  set: drill_set {
    fields: [id, created_time, customers.name, amount]
  }
}

#############################################################
# FILE: customers.view.lkml                                 #
# Define the dimensions and measures for the CUSTOMERS view #
#############################################################
view: customers {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: city {                    # field: customers.city
    sql: ${TABLE}.city ;;
  }
  dimension: state {                   # field: customers.state
    sql: ${TABLE}.state ;;
  }
  dimension: name {
    sql: CONCAT(${TABLE}.firstname, " ", ${TABLE}.lastname) ;;
  }
  measure: count {             # field: customers.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # fields to show when someone clicks 'CUSTOMERS Count'
  }
  set: drill_set {                     # set: customers.drill_set
    fields: [id, state, orders.count]  # list of fields to show when someone clicks 'CUSTOMERS Count'
  }
}

Outros recursos

Se você é novo no desenvolvimento de LookML, use os recursos descritos nas seções a seguir para acelerar o aprendizado:

Acessar o ambiente de aprendizado do Looker

Confira os cursos no Google Cloud Ensina.

Aprender a usar o Looker para consultar e analisar dados

Saber como analisar dados no Looker vai ajudar muito quando você estiver criando modelos de dados no LookML. Se você não sabe como usar o Looker para consultar, filtrar e analisar dados, sugerimos os seguintes recursos:

Revise os conceitos básicos de SQL antes de começar a usar o LookML

Para escrever LookML, é necessário entender as consultas SQL. Você não precisa ser um especialista em SQL, e até mesmo iniciantes podem criar modelos poderosos do Looker. No entanto, quanto mais você se aprofundar no LookML, mais vai se beneficiar de um conhecimento mais aprofundado do SQL.

Se você precisa de uma atualização em SQL, confira alguns dos nossos recursos favoritos:

Aprenda os fundamentos do LookML

Esses recursos vão ajudar você a começar a aprender sobre o LookML. Use sua conta de aprendizado para testar diferentes padrões de design.

Depois de aprender os conceitos básicos do LookML, consulte as páginas a seguir para ter uma visão geral dos diferentes tipos de parâmetros do LookML: