Personalizar blocos do mercado do Looker

Os blocos do Looker são modelos de dados pré-criados para padrões analíticos e origens de dados comuns. Esta página descreve como os programadores podem personalizar os blocos do Looker instalados a partir do mercado do Looker. O mercado do Looker é uma localização central para encontrar, implementar e gerir muitos tipos de conteúdo do Looker, como aplicações, visualizações e plug-ins.

Para mais informações acerca de todos os Looker Blocks disponíveis, bem como métodos de personalização de blocos alternativos, consulte a página de documentação Looker Blocks.

Requisitos para instalar e gerir blocos do Looker a partir do mercado do Looker

Antes de poder instalar e usar alguns blocos do mercado do Looker, tenha em atenção os seguintes requisitos:

  • Se estiver a instalar o bloco através do mercado do Looker, o administrador do Looker tem de ativar a funcionalidade Marketplace.
  • Os utilizadores têm de ter as autorizações develop, manage_models e deploy para instalar e gerir pacotes a partir do Marketplace.
  • Se o bloco específico contiver um parâmetro local_dependency, o bloco usa o processo de importação de projetos locais. Consulte a página de documentação Importar ficheiros de outros projetos para ver detalhes sobre a importação de projetos. Os seguintes blocos contêm um parâmetro local_dependency:

    • Análise de marketing digital
    • Estatísticas de vendas
    • Análise da Web

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

Aceder ao LookML de um bloco do Marketplace

Os blocos baseados em projetos que usam refinamentos são instalados a partir do 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 de instalar um bloco a partir do Marketplace, pode aceder ao respetivo projeto no menu Desenvolver clicando no nome do projeto na lista de projetos. Normalmente, o nome de um bloco de refinamentos do mercado é precedido de marketplace_, seguido do ID da ficha.

Embora não possa modificar diretamente um projeto CORE só de leitura de um bloco, pode querer usar o LookML definido nos ficheiros CORE só de leitura do bloco como referência quando personalizar os ficheiros CONFIG do bloco. Pode ver os ficheiros CORE do bloco navegando para os ficheiros do projeto do bloco no IDE e expandindo o diretório imported_projects no explorador de ficheiros do IDE.

Bloquear estrutura de ficheiros

Quando instala um bloco criado para refinamentos, estes ficheiros são criados automaticamente como parte da secção CONFIG do projeto de blocos:

Nome do ficheiro Acesso Função
<model_name>.model.lkml Acesso só de leitura para todos os utilizadores Ficheiro de modelo virtual associado à instalação do bloco; processa a importação de todos os modelos do projeto PRINCIPAL do bloco. Quando um bloco é desinstalado ou atualizado, o ficheiro ou os ficheiros do modelo associados são eliminados, o que evita conflitos de modelos entre várias instalações de blocos.
manifest.lkml Editável para utilizadores com autorizações do develop Descreve o projeto e as respetivas dependências externas. Contém o ID da ficha do Marketplace para o bloqueio da instalação e facilita a importação remota dos ficheiros do projeto CORE do bloco através da palavra-chave marketplace.
marketplace_lock.lkml Acesso só de leitura para todos os utilizadores Contém uma referência à palavra-chave marketplace_ref do ficheiro de manifesto que processa a importação remota do projeto CORE. Fornece as informações específicas da ficha, da versão e do modelo associadas à instalação. Contém informações sobre constantes que são configuradas durante a instalação (e que podem ser atualizadas através da opção Gerir na IU do Marketplace).
refinements.lkml Editável para utilizadores com autorizações do develop Permite aos programadores refinar as vistas e as explorações definidas nos ficheiros de projeto CORE importados.

Personalizar um bloco do Marketplace

Ative o modo de desenvolvimento para personalizar os ficheiros editáveis do bloco.

Se tiver autorizações de develop, pode personalizar o LookML no ficheiro refinements.lkml do projeto CONFIG do bloco. Pode refinar as vistas e as explorações já definidas no projeto CORE do bloco ou até adicionar novas vistas e explorações que ainda não estejam definidas no projeto CORE. Tudo o que é possível com os refinamentos do LookML noutros projetos do LookML é possível no ficheiro refinements.lkml do bloco. A combinação do refinamento e do LookML original comporta-se como se fosse o LookML original do objeto.

Também pode fazer alterações ao ficheiro manifest.lkml do projeto CONFIG para especificar as dependências que têm de ser captadas para esse bloco.

Não tem de se limitar a modificar estes ficheiros para conseguir as personalizações pretendidas. Também pode criar novos ficheiros no projeto CONFIG. Certifique-se de que include todos os novos ficheiros no ficheiro refinements.lkml.

Personalizar o ficheiro de refinamentos

Se tiver autorizações de develop, pode adicionar LookML personalizado ao projeto CONFIG para misturar dados adicionais ou alterar o modelo analítico principal do bloco. Pode criar novas vistas e juntá-las a explorações existentes, definir novos campos ou redefinir campos existentes, ou aplicar etiquetas conforme necessário para criar um modelo para a análise que quer fornecer. Se criou novos ficheiros no projeto CONFIG, tem de os include no ficheiro de refinamentos.

Por exemplo, suponhamos que instalou um bloco e o respetivo ficheiro refinements.lkml contém o seguinte LookML:

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

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

Pode usar refinamentos para adicionar uma nova dimensão a uma vista denominada flights:

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

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

Em alternativa, pode aplicar uma etiqueta a uma exploração denominada aircraft para que apareça na IU como Aircraft Simplified:

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

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

O ficheiro refinements.lkml é incluído automaticamente no ficheiro do modelo "virtual" do bloco, que importa essencialmente os modelos do projeto CORE.

Consulte a documentação sobre refinamentos do LookML para obter mais informações acerca deste tópico avançado.

Personalizar o ficheiro de manifesto editável

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

Pode editar o ficheiro CONFIG manifest.lkml para adicionar parâmetros do projeto aos que já aparecem no ficheiro de manifesto do projeto CORE. Por exemplo, pode adicionar uma local_dependency para associar o seu bloco a outro bloco na mesma instância do Looker.

Atualizar valores de constantes

As constantes do bloco são definidas no ficheiro de manifesto do projeto CORE importado. A substituição do valor de uma constante, se permitida, tem de ser feita na IU do Marketplace durante a configuração ou atualizando o bloco. Para atualizar um bloqueio, os utilizadores têm de ter as autorizações develop, manage_models e deploy.

Para substituir o valor de uma constante atualizando um bloco, siga estes passos:

  1. No Looker Marketplace, navegue para o bloco que quer atualizar.
  2. Clique no botão Gerir.
  3. Junto ao nome do bloco que quer atualizar, clique no ícone de roda dentada. Esta ação abre a janela de configuração de bloqueios.
  4. Faça alterações aos valores constantes conforme necessário.
  5. Clique em Atualizar para fechar a janela de configuração do bloqueio e atualizar o bloqueio com as suas alterações.

As alterações refletem-se no ficheiro marketplace_lock.lkml só de leitura no projeto instalado.

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

Alguns dos blocos disponíveis no mercado do Looker foram compostos por projetos que usam o extends do LookML. O Looker está a converter todos os blocos do Marketplace para instâncias no Looker 21.8 ou posterior numa estrutura de projeto que usa refinamentos do LookML e vai remover o apoio técnico para blocos baseados em extends.

O Looker recomenda que instale a versão baseada em refinamentos de todos os blocos do Marketplace que tem na sua instância à medida que estes blocos ficam disponíveis, substituindo os blocos criados com extensões. Embora este processo de substituição seja simples (pode instalar o novo bloco [refinamentos] a partir da ficha do bloco do Looker Marketplace e desinstalar o bloco original [extensões] na página Gerir do Looker Marketplace), não preserva nenhuma das personalizações que possam ter sido feitas ao bloco criado com extensões. O Looker também não transfere conteúdo nem funções do Looker baseados nesse conteúdo (painéis de controlo, Explores, envios de conteúdo agendados e alertas) do bloco original para o novo bloco.

Esta secção descreve como preservar as personalizações de um bloco criado com projetos que usam extends, que, de outra forma, seriam difíceis ou demorados de replicar desde o início.

Para preservar as personalizações do bloco, um utilizador com a capacidade de instalar e gerir pacotes a partir do Marketplace tem de seguir estes passos:

  1. Atualize o projeto CONFIG do bloco original para se preparar para a migração
  2. Instale a nova versão do bloco a partir do mercado do Looker
  3. Transfira as personalizações para o novo bloco do mercado
  4. Recrie conteúdo do Looker com base no bloco original
  5. Desinstale a versão do bloco criada com extends

Atualizar um bloco personalizado para preparar a migração

Esta secção descreve como atualizar os ficheiros de projeto principais num bloco criado com extends para poder copiar as personalizações do bloco para uma nova versão do bloco baseada em refinamentos. Um bloco baseado num projeto que usa extends é instalado a partir do Marketplace como um projeto CORE só de leitura e um projeto CONFIG editável.

  1. Navegue para o projeto CONFIG do bloco a partir da secção Desenvolver de uma das seguintes formas:

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

    Normalmente, os nomes dos projetos CONFIG terminam em _config, enquanto o nome do projeto CORE não tem normalmente um sufixo.

  2. Abra o ficheiro de modelo do projeto, que pode ter um aspeto semelhante ao seguinte:


    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 programação, siga estes passos:

    1. Elimine as linhas extends e extension completas.
    2. Elimine _config dos nomes explore.
    3. Adicione + aos nomes de explore.

    O exemplo de ficheiro de modelo anterior teria o seguinte aspeto:


    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 retenha o conteúdo deste ficheiro para um passo futuro.

Instalar o novo bloco do mercado

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

  1. Selecione o ícone de loja na barra de menu do Looker para navegar para o Looker Marketplace.
  2. Clique na ficha do novo bloco do mercado baseado em refinamentos. Este bloco tem o mesmo nome que o bloco existente criado com extends.
  3. Clique em Instalar para instalar o novo bloco. Assim que este bloco estiver instalado, são apresentadas duas fichas idênticas na página Gerir do mercado do Looker.

Transferir personalizações para o novo bloco do Marketplace

Esta secção descreve como transferir as atualizações que fez para o bloco original (extends) para o novo bloco (refinements).

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

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

    Normalmente, o nome de um bloco de refinamentos do mercado é precedido de marketplace_, seguido do ID da ficha.

  2. No ficheiro refinements.lkml, cole o conteúdo atualizado do ficheiro de modelo do bloco original (extends). Certifique-se de que mantém todas as declarações include que já se encontram no ficheiro de refinamentos.

Recriar conteúdo do Looker com base no bloco original

O passo final na adoção da 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 extends contêm painéis de controlo e Explores do LookML pré-criados. Se os utilizadores tiverem criado alertas ou entregas agendadas com base em quaisquer painéis de controlo do LookML definidos no bloco original (extends), esses alertas ou agendamentos são desativados ou falham, respetivamente, assim que esse bloco for desinstalado do mercado do Looker.

Tem de recriar estes alertas ou envios agendados nos painéis de controlo do LookML do novo bloco (refinamentos). Os administradores e os utilizadores do Looker com as autorizações adequadas para agendamentos e alertas podem usar as páginas Alertas e agendamentos na secção de administração para pesquisar os nomes dos painéis de controlo do bloco (extends) e, em seguida, criar novos alertas ou entregas agendadas, conforme necessário, nos painéis de controlo correspondentes do bloco (refinements).

Também tem de modificar qualquer outro conteúdo do Looker que faça referência aos painéis de controlo do LookML ou às análises detalhadas do bloco original (extends) para apontar para o novo bloco (refinements), conforme necessário.

Desinstalar o bloqueio original

Para desinstalar a versão do bloco criada com extends, siga estes passos:

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

  2. No Looker Marketplace, selecione Gerir na navegação do lado esquerdo para abrir a página Gerir.

  3. Na página Gerir, clique no ícone de lixo para desinstalar o bloco original (que se estende). Pode distinguir a lista de bloqueio de extensões da lista de bloqueio de refinamentos consultando os números das versões. O bloco extends vai estar uma versão principal atrás do bloco refinements. Por exemplo, o bloco extends pode ser a versão 1.0.4 e o bloco refinements pode ser a versão 2.0.0.

Resolução de problemas de um bloqueio

Se um bloco do Marketplace apresentar erros, é possível que o seu esquema não corresponda à estrutura do bloco.

Também pode verificar se as constantes fornecidas durante a instalação do bloco, que representam a ligação, a base de dados ou o esquema do bloco, foram definidas corretamente. Para o fazer, siga estes passos:

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

  2. No Looker Marketplace, selecione Gerir no painel de navegação principal para abrir a página Gerir.

  3. Na página Gerir, clique no ícone de roda dentada do bloco para ver as respetivas definições de configuração.

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