Personaliza los bloques de Looker Marketplace

Los bloques de Looker son modelos de datos precompilados para patrones analíticos y fuentes de datos comunes. En esta página, se describe cómo los desarrolladores pueden personalizar los bloques de Looker que se instalan desde Looker Marketplace. El Looker Marketplace es una ubicación central para encontrar, implementar y administrar muchos tipos de contenido de Looker, como aplicaciones, visualizaciones y complementos.

Para obtener más información sobre todos los bloques de Looker disponibles, así como sobre los métodos alternativos de personalización de bloques, consulta la página de documentación de los bloques de Looker.

Requisitos para instalar y administrar bloques de Looker desde Looker Marketplace

Antes de que puedas instalar y usar algunos bloques de Looker Marketplace, ten en cuenta los siguientes requisitos:

  • Si instalas el bloque a través de Looker Marketplace, tu administrador de Looker debe habilitar la función Marketplace.
  • Los usuarios deben tener permisos develop, manage_models y deploy para instalar y administrar paquetes desde Marketplace.
  • Si el bloque en particular contiene un local_dependency parámetro, el bloque usa el proceso de importación de proyectos locales. Consulta la página de documentación Importar archivos de otros proyectos para obtener detalles sobre la importación de proyectos. Los siguientes bloques contienen un parámetro local_dependency:

    • Estadísticas de marketing digital
    • Estadísticas de ventas
    • Estadísticas web

Consulta la página de documentación de Looker Marketplace para obtener información sobre cómo instalar y administrar bloques de Looker desde Looker Marketplace.

Accede al LookML de un bloque de Marketplace

Los bloques que se basan en proyectos que usan refinamientos se instalan desde Marketplace como un solo proyecto CONFIG editable que importa de forma remota el proyecto CORE, que contiene todo el código LookML y la parametrización constante.

Una vez que se instala un bloque desde Marketplace, puedes acceder a su proyecto desde el menú Desarrollar haciendo clic en el nombre del proyecto en la lista de proyectos. Por lo general, el nombre de un bloque de refinamientos de Marketplace tiene el prefijo marketplace_ seguido del ID de la ficha.

Si bien no puedes modificar directamente el proyecto CORE de solo lectura de un bloque, es posible que desees usar el LookML que se define en los archivos CORE de solo lectura del bloque como referencia cuando personalizas los archivos CONFIG del bloque. Para ver los archivos CORE del bloque, navega a los archivos del proyecto del bloque en el IDE y expande el imported_projects directorio en el navegador de archivos del IDE.

Estructura de archivos de bloque

Cuando instalas un bloque creado para refinamientos, estos archivos se crean automáticamente como parte de la parte CONFIG del proyecto de bloque:

Nombre del archivo Acceso Función
<model_name>.model.lkml Solo lectura para todos los usuarios Archivo de modelo "virtual" que está vinculado a la instalación del bloque; controla la importación de cualquier modelo del proyecto CORE del bloque. Cuando se desinstala o actualiza un bloque, se borran los archivos de modelo asociados, lo que evita conflictos de modelos entre varias instalaciones de bloques.
manifest.lkml Editable para usuarios con permisos develop Describe el proyecto y sus dependencias externas. Contiene el ID de la ficha de Marketplace para la instalación del bloque y facilita la importación remota de los archivos del proyecto CORE del bloque a través de la palabra clave marketplace.
marketplace_lock.lkml Solo lectura para todos los usuarios Contiene una referencia a la palabra clave marketplace_ref del archivo de manifiesto que controla la importación remota del proyecto CORE. Proporciona la ficha, la versión y la información del modelo específicos que están asociados con la instalación. Contiene información sobre las constantes que se configuran durante la instalación (y que se pueden actualizar con la opción Administrar en la IU de Marketplace).
refinements.lkml Editable para usuarios con permisos develop Permite a los desarrolladores refinar las vistas y las exploraciones definidas en los archivos del proyecto CORE importados.

Personaliza un bloque de Marketplace

Habilita el modo de desarrollo para realizar personalizaciones en los archivos editables del bloque.

Si tienes permisos develop, puedes personalizar el LookML en el archivo refinements.lkml del proyecto CONFIG del bloque. Puedes refinar las vistas y las exploraciones que ya están definidas en el proyecto CORE del bloque o incluso agregar vistas y exploraciones nuevas que aún no estén definidas en el proyecto CORE. Todo lo que es posible con los refinamientos de LookML en otros proyectos de LookML es posible en el archivo refinements.lkml del bloque. La combinación del refinamiento y el LookML original se comporta como si fuera el LookML original del objeto.

También puedes realizar cambios en el archivo manifest.lkml del proyecto CONFIG para especificar las dependencias que deben capturarse para ese bloque.

No te limites a modificar estos archivos para obtener las personalizaciones que deseas. También puedes crear archivos nuevos en el proyecto CONFIG. Solo asegúrate de include cualquier archivo nuevo en el archivo refinements.lkml.

Personaliza el archivo de refinamientos

Si tienes permisos develop, puedes agregar LookML personalizado al proyecto CONFIG para combinar datos adicionales o cambiar el modelo analítico principal del bloque. Puedes crear vistas nuevas y unirlas a exploraciones existentes, definir campos nuevos o redefinir campos existentes, o aplicar etiquetas según sea necesario para crear un modelo para el análisis que deseas proporcionar. Si creaste archivos nuevos en el proyecto CONFIG, debes include en el archivo de refinamientos.

Por ejemplo, supongamos que instalaste un bloque y su archivo refinements.lkml contiene el siguiente LookML:

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

donde listing_id es el valor del parámetro listing del archivo manifest.lkml.

Puedes usar refinamientos para agregar una dimensión nueva a una vista llamada flights:

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

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

O puedes aplicar una etiqueta a una exploración llamada aircraft para que aparezca en la IU como Aircraft Simplified:

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

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

El archivo refinements.lkml se incluye automáticamente en el archivo de modelo "virtual" del bloque, que importa esencialmente los modelos del proyecto CORE.

Consulta la documentación de refinamientos de LookML para obtener más información sobre este tema avanzado.

Personaliza el archivo de manifiesto editable

En los bloques que usan refinamientos, los proyectos CORE y CONFIG tienen archivos de manifiesto; sin embargo, solo el archivo de manifiesto del proyecto CONFIG es editable.

Puedes editar el archivo CONFIG manifest.lkml para agregar parámetros de proyecto a los que ya aparecen en el archivo de manifiesto del proyecto CORE. Por ejemplo, puedes agregar un local_dependency para unir tu bloque a otro bloque en la misma instancia de Looker.

Actualiza los valores de las constantes

Las constantes del bloque se definen en el archivo de manifiesto del proyecto CORE importado. Si se permite, la anulación del valor de una constante debe realizarse en la IU de Marketplace durante la configuración o actualizando el bloque. Para actualizar un bloque, los usuarios deben tener permisos develop, manage_models y deploy.

Para anular el valor de una constante actualizando un bloque, sigue estos pasos:

  1. En Looker Marketplace, navega hasta el bloque que deseas actualizar.
  2. Haz clic en el botón Administrar.
  3. Junto al nombre del bloque que deseas actualizar, haz clic en el ícono de ajustes. Se abrirá la ventana de configuración del bloque.
  4. Realiza cambios en los valores constantes según sea necesario.
  5. Haz clic en Actualizar para cerrar la ventana de configuración del bloque y actualizar el bloque con tus cambios.

Los cambios se reflejan en el archivo marketplace_lock.lkml de solo lectura en el proyecto instalado.

Conserva las personalizaciones de un bloque de Marketplace que usa extensiones

Algunos de los bloques disponibles en Looker Marketplace se componían de proyectos que usan extensiones de LookML extends. Looker está convirtiendo todos los bloques de Marketplace para instancias en Looker 21.8 o versiones posteriores a una estructura de proyecto que utiliza refinamientos de LookML y quitará la compatibilidad con los bloques que se basan en extensiones.

Looker recomienda que instales la versión basada en refinamientos de cualquier bloque de Marketplace que tengas en tu instancia a medida que estos bloques estén disponibles, y que reemplaces los bloques que se crearon con extensiones. Si bien este proceso de reemplazo es simple (puedes instalar el nuevo bloque [refinamientos] desde la ficha de bloque de Looker Marketplace y desinstalar el bloque original [extensiones] en la página Administrar de Looker Marketplace), no conservará ninguna de las personalizaciones que se hayan realizado en el bloque creado con extensiones. Looker tampoco transferirá ningún contenido o función de Looker que se base en ese contenido (paneles, exploraciones, entregas de contenido programadas, alertas) del bloque original al bloque nuevo.

En esta sección, se describe cómo conservar las personalizaciones de un bloque creado con proyectos que usan extensiones que, de lo contrario, serían difíciles o lentas de replicar desde cero.

Para conservar las personalizaciones de tu bloque, un usuario con la capacidad de instalar y administrar paquetes desde Marketplace debe realizar los siguientes pasos:

  1. Actualiza el proyecto CONFIG del bloque original para prepararte para la migración.
  2. Instala la versión nueva del bloque desde Looker Marketplace.
  3. Transfiere las personalizaciones al nuevo bloque de Marketplace.
  4. Vuelve a crear contenido de Looker basado en el bloque original.
  5. Desinstala la versión del bloque que se creó con extensiones.

Actualiza un bloque personalizado para prepararte para la migración

En esta sección, se describe cómo actualizar los archivos clave del proyecto en un bloque que se creó con extensiones para que puedas copiar las personalizaciones del bloque a una nueva versión del bloque basada en refinamientos. Un bloque que se basa en un proyecto que usa extensiones se instala desde Marketplace como un proyecto CORE de solo lectura y un proyecto CONFIG editable.

  1. Navega al proyecto CONFIG del bloque desde la sección Desarrollar de una de las siguientes maneras:

    • Haz clic en la opción Proyectos y, luego, en el nombre del proyecto.
    • Haz clic en el nombre del proyecto CONFIG del bloque en la lista de proyectos.

    Por lo general, los nombres de los proyectos CONFIG terminan en _config, mientras que el nombre del proyecto CORE no suele tener un sufijo.

  2. Abre el archivo de modelo del proyecto, que puede verse de la siguiente manera:


    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. En el modo de desarrollo, sigue estos pasos:

    1. Borra las líneas extends y extension completas.
    2. Borra _config de los nombres explore.
    3. Antepón + a los nombres explore.

    El ejemplo anterior del archivo de modelo se vería de la siguiente manera:


    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. Copia y conserva el contenido de este archivo para un paso futuro.

Instala el nuevo bloque de Marketplace

Un bloque que se basa en un proyecto que usa refinamientos se instala desde Marketplace como un solo proyecto de LookML editable que importa de forma remota el proyecto que contiene todo el LookML y la parametrización constante.

  1. Selecciona el ícono de tienda en la barra de menú de Looker para navegar a Looker Marketplace.
  2. Haz clic en la ficha del nuevo bloque de Marketplace basado en refinamientos. Este bloque tiene el mismo nombre que el bloque existente que se creó con extensiones.
  3. Haz clic en Instalar para instalar el bloque nuevo. Una vez que se instale este bloque, verás dos fichas idénticas en la página Administrar de Looker Marketplace.

Transfiere personalizaciones al nuevo bloque de Marketplace

En esta sección, se describe cómo transferir las actualizaciones que realizaste en el bloque original (extensiones) al bloque nuevo (refinamientos).

  1. Desde la sección Desarrollar, abre el proyecto del bloque nuevo de una de las siguientes maneras:

    • Haz clic en la opción Proyectos y, luego, en el nombre del proyecto.
    • Haz clic en el nombre del proyecto del bloque en la lista de proyectos.

    Por lo general, el nombre de un bloque de refinamientos de Marketplace tiene el prefijo marketplace_ seguido del ID de la ficha.

  2. En el archivo refinements.lkml, pega el contenido actualizado del archivo de modelo del bloque original (extensiones). Asegúrate de conservar las instrucciones include que ya están en el archivo de refinamientos.

Vuelve a crear contenido de Looker basado en el bloque original

El paso final para adoptar la versión basada en refinamientos de un bloque de Marketplace es desinstalar la versión original del bloque basada en extensiones. Algunos bloques basados en extensiones contienen paneles y exploraciones de LookML precompilados. Si los usuarios crearon alertas o entregas programadas basadas en los paneles de LookML definidos en el bloque original (extensiones), esas alertas o programaciones se inhabilitarán o fallarán, respectivamente, una vez que se desinstale ese bloque de Looker Marketplace.

Debes volver a crear estas alertas o entregas programadas en los paneles de LookML del bloque nuevo (refinamientos). Los administradores y usuarios de Looker con los permisos adecuados para las programaciones y las alertas pueden usar las páginas Alertas y programaciones en la sección de administración para buscar los nombres de los paneles del bloque (extensiones) y, luego, crear alertas o entregas programadas nuevas según sea necesario en los paneles correspondientes del bloque (refinamientos).

También debes modificar cualquier otro contenido de Looker que haga referencia a las exploraciones o los paneles de LookML del bloque original (extensiones) para que apunten al bloque nuevo (refinamientos), según sea necesario.

Desinstala el bloque original

Para desinstalar la versión del bloque que se creó con extensiones, sigue estos pasos:

  1. Selecciona el ícono de tienda en la barra de menú de Looker para navegar a Looker Marketplace.

  2. En Looker Marketplace, selecciona Administrar en la navegación del lado izquierdo para abrir la página Administrar.

  3. En la página Administrar, haz clic en el ícono de papelera para desinstalar el bloque original (extensiones). Puedes diferenciar la lista de bloques de extensiones de la lista de bloques de refinamientos si observas los números de versión. El bloque de extensiones estará una versión principal detrás del bloque de refinamientos. Por ejemplo, el bloque de extensiones puede ser la versión 1.0.4 y el bloque de refinamientos puede ser la versión 2.0.0.

Soluciona problemas de un bloque

Si un bloque de Marketplace muestra errores, es posible que tu esquema no coincida con la estructura del bloque.

También es posible que desees verificar que las constantes que se proporcionaron durante la instalación del bloque, que representan la conexión, la base de datos o el esquema del bloque, se hayan definido correctamente. Para ello, sigue estos pasos:

  1. Selecciona el ícono de tienda en la barra de menú de Looker para navegar a Looker Marketplace.

  2. En Looker Marketplace, selecciona Administrar en el panel de navegación principal para abrir la página Administrar.

  3. En la página Administrar, haz clic en el ícono de ajustes del bloque para ver su configuración.

  4. En la ventana Actualizar configuraciones, confirma que el bloque esté configurado correctamente. Haz clic en Actualizar después de realizar los cambios para guardar las actualizaciones y cerrar la ventana de configuración del bloque.