Personalizar blocos do Marketplace do Looker

Looker BlocksTM são modelos de dados pré-criados para padrões analíticos comuns e fontes de dados. Nesta página, descrevemos como os desenvolvedores podem personalizar os blocos do Looker instalados do Marketplace do Looker. O Marketplace do Looker é um local central para encontrar, implantar e gerenciar vários tipos de conteúdo do Looker, como aplicativos, visualizações e plug-ins.

Para mais informações sobre todos os blocos do Looker disponíveis, incluindo aqueles que não estão disponíveis no Marketplace do Looker e métodos alternativos de personalização de blocos, consulte a página de documentação dos Blocos do Looker.

Requisitos para instalar e gerenciar blocos do Looker no Marketplace do Looker

Antes de instalar e usar alguns blocos do Marketplace do Looker, o administrador do Looker precisa ativar estes recursos:

  • Se você estiver instalando o bloqueio pelo Marketplace do Looker, o administrador do Looker precisará ativar o recurso Marketplace.
  • Se o bloco específico tiver um parâmetro local_dependency, o administrador do Looker também precisará ativar o recurso Importação de projeto local Labs. Esses blocos contêm um parâmetro local_dependency:

    • Análise de marketing digital
    • Análise de dados de vendas
    • Análise da Web

Os usuários precisam ter as permissões develop, manage_models e deploy para instalar e gerenciar pacotes do Marketplace.

Consulte a página de documentação do Marketplace do Looker para informações sobre como instalar e gerenciar blocos do Looker no Marketplace.

Acessar o LookML para um bloco do Marketplace

Os blocos baseados em projetos que usam refinamentos são instalados no Marketplace como um único projeto CONFIG editável que importa remotamente o projeto CORE, que contém todo o código LookML e a parametrização constante.

Depois que um bloco é instalado no Marketplace, você pode acessar o projeto dele no menu Develop clicando no nome do projeto na lista de projetos. O nome de um bloco de refinamentos do Marketplace geralmente é precedido por marketplace_ seguido do ID da ficha da empresa.

Embora não seja possível modificar diretamente o projeto CORE de leitura somente de um bloco, é recomendável usar o LookML definido nos arquivos CORE de leitura somente de um bloco como referência ao personalizar os arquivos CONFIG do bloco. Para conferir os arquivos CORE do bloco, navegue até os arquivos de projeto do bloco no ambiente de desenvolvimento integrado e expanda o diretório imported_projects no navegador de arquivos.

Bloquear a estrutura do arquivo

Quando você instala um bloco criado para refinamentos, estes arquivos são criados automaticamente como parte do CONFIG do projeto do bloco:

Nome do arquivo Acesso Função
<model_name>.model.lkml Somente leitura para todos os usuários Arquivo de modelo virtual vinculado à instalação do bloco. Processa a importação de todos os modelos do projeto CORE do bloco. Quando um bloco é desinstalado ou atualizado, os arquivos de modelo associados são excluídos, evitando conflitos de modelo entre várias instalações de bloco.
manifest.lkml Editável para usuários com permissões develop Descreve o projeto e as dependências externas dele. Contém o ID da listagem do Marketplace para a instalação do bloco e facilita a importação remota dos arquivos do projeto CORE do bloco usando a palavra-chave marketplace.
marketplace_lock.lkml Somente leitura para todos os usuários Contém uma referência à palavra-chave marketplace_ref do arquivo de manifesto que processa a importação remota do projeto CORE. Apresenta as informações específicas de listagem, versão e modelo associadas à instalação. Contém informações sobre constantes configuradas durante a instalação e que podem ser atualizadas usando a opção Gerenciar na interface do Marketplace.
refinements.lkml Editável para usuários com permissões develop Permite que os desenvolvedores refinem as visualizações e Análises definidas nos arquivos do projeto CORE importados.

Como personalizar um bloqueio do Marketplace

Ative o Modo de desenvolvimento para fazer personalizações nos arquivos editáveis do bloco.

Se você tiver permissões develop, poderá personalizar o LookML no arquivo refinements.lkml do projeto CONFIG do bloco. Você pode refinar as visualizações e análises detalhadas que já estão definidas no projeto CORE do bloco ou até mesmo adicionar novas visualizações e análises detalhadas que ainda não estão definidas no projeto CORE. Tudo o que é possível com os aprimoramentos do LookML em outros projetos do LookML é possível no arquivo refinements.lkml do bloco. A combinação do refinamento e do LookML original se comporta como se fosse o LookML original do objeto.

Você também pode fazer alterações no arquivo manifest.lkml do projeto CONFIG para especificar as dependências que precisam ser capturadas para esse bloco.

Você não precisa modificar esses arquivos para conseguir as personalizações que quer. Também é possível criar novos arquivos no projeto CONFIG. Basta include todos os novos arquivos no arquivo refinements.lkml.

Personalizar o arquivo de refinamentos

Se você tiver permissões develop, poderá adicionar o LookML personalizado ao projeto CONFIG para misturar dados adicionais ou mudar o modelo analítico principal do bloco. Você pode criar novas visualizações e combiná-las com análises detalhadas, definir ou redefinir campos ou aplicar rótulos conforme necessário para criar um modelo para a análise que você quer fornecer. Se você criou novos arquivos no projeto CONFIG, include eles no arquivo de refinamentos.

Por exemplo, digamos que você instalou um bloco e o arquivo refinements.lkml dele contém:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

em que listing_id é o valor do parâmetro listing do arquivo manifest.lkml.

Você pode usar refinamentos para adicionar uma nova dimensão a uma visualização chamada flights:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

view: +flights {
  dimension: air_carrier {
    type: string
    sql: ${TABLE}.air_carrier ;;
  }
}

Também é possível aplicar um rótulo a uma Análise chamada aircraft para que ela apareça na UI como Aircraft Simplified:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

explore: +aircraft {
  label: "Aircraft Simplified"
}

O arquivo refinements.lkml é incluído automaticamente no bloco "virtual" que basicamente importa os modelos do projeto CORE.

Consulte a documentação Refinamentos do LookML para mais informações sobre esse tópico avançado.

Personalizar o arquivo de manifesto editável

Em blocos que usam refinamentos, os projetos CORE e CONFIG têm arquivos de manifesto. No entanto, apenas o arquivo de manifesto do projeto CONFIG é editável.

É possível editar o arquivo CONFIG manifest.lkml para adicionar parâmetros de projeto aos que já aparecem no arquivo de manifesto do projeto CORE. Por exemplo, é possível adicionar um local_dependency para juntar seu bloco a outro na mesma instância do Looker.

Antes de usar ou criar um bloco que contenha um parâmetro local_dependency, um administrador do Looker precisa ativar o recurso Importação de projeto local Labs.

Como atualizar valores de constantes

As constantes do bloco são definidas no arquivo de manifesto importado do projeto CORE. Se permitido, a substituição do valor de uma constante precisa ser feita na interface do Marketplace durante a configuração ou atualizando o bloco. Para atualizar um bloco, os usuários precisam ter as permissões develop, manage_models e deploy.

Para substituir o valor de uma constante atualizando um bloco:

  1. No Marketplace do Looker, navegue até o bloco que você quer atualizar.
  2. Clique no botão Gerenciar.
  3. Clique no ícone de engrenagem ao lado do nome do bloqueio que você quer atualizar. Isso abre a janela de configuração de bloco.
  4. Faça alterações nos valores constantes conforme necessário.
  5. Clique em Atualizar para fechar a janela de configuração do bloco e atualizar o bloco com as alterações.

As mudanças são refletidas no arquivo marketplace_lock.lkml somente leitura no projeto instalado.

Preservar as personalizações de um bloco do Marketplace que usa extensões

Alguns dos blocos disponíveis no Marketplace do Looker foram compostos por projetos que usam a extensão do LookML. O Looker está convertendo todos os blocos do Marketplace para instâncias no Looker 21.8 ou versões mais recentes em uma estrutura de projeto que usa refinamentos do LookML e vai remover o suporte para bloqueios baseados em estendas.

O Looker recomenda que você instale a versão baseada em refinamentos de todos os blocos do Marketplace que você tem na sua instância quando eles estiverem disponíveis, substituindo os blocos criados com extensões. Embora esse processo de substituição seja simples, você pode instalar o novo bloco (refinamentos) na listagem de bloqueio do Marketplace do Looker e desinstalar o bloco original (estende) na página Gerenciar no Marketplace do Looker. Isso não vai preservar nenhuma das personalizações que podem ter sido feitas no bloco criado com extensões. O Looker também não transfere nenhum conteúdo ou função do Looker com base nesse conteúdo (painéis, explorações, envios de conteúdo programados, alertas) do bloco original para o novo.

Esta seção descreve como preservar as personalizações de um bloco criado com projetos que usam extensões que, de outra forma, seriam difíceis ou demoradas de replicar do zero.

Para preservar as personalizações do seu bloco, um usuário com a capacidade de instalar e gerenciar pacotes do Marketplace precisa:

  1. Atualizar o projeto CONFIG do bloco original para se preparar para a migração
  2. Instalar a nova versão do bloco no Marketplace do Looker
  3. Transferir as personalizações para o novo bloco do Marketplace
  4. Recriar conteúdo do Looker com base no bloco original
  5. Desinstalar a versão do bloco que foi criada com extensões

Como atualizar um bloco personalizado para se preparar para a migração

Esta seção descreve como atualizar os principais arquivos de projeto em um bloco criado com extensões para que você possa copiar as personalizações do bloco para uma nova versão baseada em refinamentos. Um bloco baseado em um projeto que usa extensões é instalado a partir do Marketplace como um projeto CORE somente leitura e um projeto CONFIG editável.

  1. Navegue até o projeto CONFIG do bloco na seção Desenvolver de uma das seguintes maneiras:

    • Clique na opção Projects e, em seguida, no nome do projeto.
    • Clique no nome do projeto CONFIG do bloco na lista de projetos.

    Os nomes de projetos CONFIG geralmente terminam em _config, enquanto o nome do projeto CORE normalmente não tem um sufixo.

  2. Abra o arquivo de modelo do projeto, que pode ter esta aparência:


    explore: ga_sessions_config {
      extends: [ga_sessions_core]
      extension: required
      join: user_sales_data {
        sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
      }
      join: sales__by__category {
        sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
      }
    }

    explore: future_input_config {
      extends: [future_input_core]
      extension: required
      join: future_purchase_prediction {
        type: left_outer
        sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
        relationship: one_to_one
      }
    }

  1. No Modo de desenvolvimento:

    1. Exclua todas as linhas extends e extension.
    2. Exclua _config dos nomes de explore.
    3. Use + no início dos nomes da explore.

    O exemplo de arquivo de modelo anterior ficaria assim:


    explore: +ga_sessions {
      join: user_sales_data {
        sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
      }
      join: sales__by__category {
        sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
      }
    }

    explore: +future_input {
      join: future_purchase_prediction {
        type: left_outer
        sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
        relationship: one_to_one
      }
    }

  1. Copie e guarde o conteúdo desse arquivo para uma etapa futura.

Como instalar o novo bloco do Marketplace

Um bloco baseado em um projeto que usa refinamentos é instalado no Marketplace como um único projeto do LookML editável que importa remotamente o projeto que contém todo o LookML e a parametrização constante.

  1. Selecione o ícone da loja na barra de menus do Looker para acessar o Marketplace do Looker.
  2. Clique na listagem do novo bloco do Marketplace com base em refinamentos. Esse bloco tem o mesmo nome do bloco atual que foi criado com extensões.
  3. Clique em Instalar para instalar o novo bloco. Depois que o bloco for instalado, duas listagens idênticas vão aparecer na página Gerenciar do Marketplace do Looker.

Como transferir personalizações para o novo bloco do Marketplace

Esta seção descreve como transferir as atualizações feitas no bloco original (estende) para o novo bloco (refinamentos).

  1. Na seção Desenvolver, abra o projeto do novo bloco de uma das seguintes maneiras:

    • Clique na opção Projects e, em seguida, no nome do projeto.
    • Clique no nome do projeto do bloco na lista de projetos.

    O nome de um bloco de refinamentos do Marketplace geralmente é precedido por marketplace_ seguido do ID da ficha da empresa.

  2. No arquivo refinements.lkml, cole o conteúdo atualizado do arquivo de modelo do bloco original (estende). Mantenha todas as instruções include que já estão no arquivo de refinamentos.

Recriar conteúdo do Looker com base no bloco original

A etapa final para adotar a versão baseada em refinamentos de um bloco do Marketplace é desinstalar a versão original baseada em extensões do bloco. Alguns blocos baseados em extensões contêm dashboards e Explores do LookML pré-criados. Se os usuários criaram alertas ou entregas programadas baseados em qualquer dashboard do LookML definido no bloco original (estende), esses alertas ou programações serão desativados ou falharão, respectivamente, assim que o bloco for desinstalado do Marketplace do Looker.

É necessário recriar esses alertas ou entregas programadas nos painéis do LookML do novo bloco (refinamentos). Os administradores e usuários do Looker com as permissões apropriadas para programações e alertas podem usar a API Alertas e Agendas páginas na seção "Administrador" para pesquisar os nomes dos painéis do bloco (estende) e criar alertas ou envios programados conforme necessário nos painéis correspondentes do bloco (refinamentos).

Você também precisa modificar qualquer outro conteúdo do Looker que faça referência às análises ou aos painéis do LookML do bloco original (extensões) para apontar para o novo bloco (aprimoramentos), conforme necessário.

Como desinstalar o bloco original

Para desinstalar a versão do bloco que foi criada com extensões:

  1. Selecione o ícone da loja na barra de menu do Looker para acessar o Marketplace do Looker.

  2. No Marketplace do Looker, selecione Gerenciar no painel de navegação à esquerda para abrir a página Gerenciar.

  3. Na página Gerenciar, clique no ícone de lixeira para desinstalar o bloco original (estende). Você pode diferenciar a lista de bloqueio estendido da lista de bloqueio de refinamento observando os números de versão. O bloco de extensão será uma versão principal depois do bloco de refinamentos. Por exemplo, o bloco de extensão pode ser a versão 1.0.4 e o bloco de refinamentos pode ser a versão 2.0.0.

Depois que o bloco é desinstalado, a listagem de bloqueio original (estende) desaparece da navegação à esquerda na instância do Looker, as Análises desaparecem da seção Análise, os painéis do LookML desaparecem da pasta Painéis do LookML e todos os alertas ou entregas programadas baseados nos dashboards do LookML do bloco são desativados ou apresentam falha, respectivamente.

Solução de problemas de um bloqueio

Se um bloco do Marketplace mostrar erros, talvez seu esquema não corresponda à estrutura do bloco.

Verifique também se as constantes fornecidas durante a instalação do bloco, que representam a conexão, o banco de dados ou o esquema do bloco, foram definidas corretamente. Para fazer isso, você pode:

  1. Selecione o ícone da loja na barra de menus do Looker para acessar o Marketplace do Looker.

  2. No Marketplace do Looker, selecione Gerenciar no painel de navegação à esquerda para abrir a página Gerenciar.

  3. Na página Gerenciar, clique no ícone de engrenagem do bloco para ver as configurações dele.

  4. Na janela Atualizar configurações, confirme se o bloco está configurado corretamente. Clique em Atualizar depois de fazer as alterações para salvar as atualizações e fechar a janela de configuração do bloco.