Looker Marketplace 블록 맞춤설정

Looker Blocks™는 일반적인 분석 패턴과 데이터 소스를 위해 사전 빌드된 데이터 모델입니다. 이 페이지에서는 개발자가 Looker Marketplace에서 설치된 Looker 블록을 맞춤설정하는 방법을 설명합니다. Looker Marketplace는 애플리케이션, 시각화, 플러그인과 같은 여러 유형의 Looker 콘텐츠를 찾고, 배포하고, 관리하는 중앙 위치입니다.

Looker Marketplace에서 현재 사용할 수 없는 블록 및 대체 블록 맞춤설정 메서드를 포함하여 사용 가능한 모든 Looker 블록에 대한 자세한 내용은 Looker 블록 설명서 페이지를 참조하세요.

Looker Marketplace에서 Looker 블록 설치 및 관리 요구사항

Looker Marketplace에서 일부 블록을 설치 및 사용하려면 Looker 관리자가 다음 기능을 사용 설정해야 합니다.

  • Looker Marketplace를 통해 블록을 설치하는 경우 Looker 관리자가 Marketplace 기능을 사용 설정해야 합니다.
  • 특정 블록에 local_dependency 매개변수가 포함되어 있는 경우 Looker 관리자는 로컬 프로젝트 가져오기 실습 기능도 사용 설정해야 합니다. 이러한 블록에는 local_dependency 매개변수가 포함됩니다.

    • 디지털 마케팅 분석
    • 영업 분석
    • 웹 분석

Marketplace에서 패키지를 설치하고 관리하려면 사용자에게 develop, manage_models, deploy 권한이 있어야 합니다.

Looker Marketplace에서 Looker 블록 설치관리에 대한 자세한 내용은 Looker Marketplace 문서 페이지를 참조하세요.

Marketplace 블록을 위해 LookML 액세스

상세검색을 사용하는 프로젝트를 기반으로 하는 블록은 모든 LookML 코드와 지속적인 매개변수화를 포함하는 CORE 프로젝트를 원격으로 가져오는 수정 가능한 단일 CONFIG 프로젝트로 Marketplace에서 설치됩니다.

블록이 Marketplace에서 설치되면 프로젝트 목록에서 프로젝트 이름을 클릭하여 개발 메뉴에서 해당 프로젝트에 액세스할 수 있습니다. Marketplace 상세검색 블록 이름은 일반적으로 marketplace_ 뒤에 목록 ID가 붙습니다.

블록의 읽기 전용 CORE 프로젝트를 직접 수정할 수는 없지만, 블록의 CONFIG 파일을 맞춤설정할 때 블록의 읽기 전용 CORE 파일에 정의된 LookML을 참조로 사용할 수 있습니다. IDE에서 블록의 프로젝트 파일로 이동하고 IDE 파일 브라우저에서 imported_projects 디렉터리를 펼쳐 블록의 CORE 파일을 확인할 수 있습니다.

블록 파일 구조

상세검색용으로 빌드된 블록을 설치하면 이러한 파일이 블록 프로젝트의 CONFIG 부분에 따라 자동으로 생성됩니다.

파일 이름 액세스 함수
<model_name>.model.lkml 모든 사용자를 위한 읽기 전용 블록 설치에 연결된 가상 모델 파일로 블록의 CORE 프로젝트에서 모든 모델 가져오기를 처리합니다. 블록이 제거되거나 업데이트되면 연결된 모델 파일 또는 파일이 삭제되어 여러 블록 설치 간의 모델 충돌이 발생하지 않습니다.
manifest.lkml develop 권한이 있는 사용자에 대해 수정 가능 프로젝트 및 외부 종속 항목을 설명합니다. 블록 설치를 위한 Marketplace 목록 ID가 포함되고 marketplace 키워드를 통해 블록의 CORE 프로젝트 파일을 원격으로 가져올 수 있습니다.
marketplace_lock.lkml 모든 사용자를 위한 읽기 전용 CORE 프로젝트의 원격 가져오기를 처리하는 매니페스트 파일의 marketplace_ref 키워드에 대한 참조를 포함합니다. 설치와 관련된 특정 목록, 버전, 모델 정보를 제공합니다. 설치 중에 구성된 상수에 대한 정보가 포함되어 있으며 (Marketplace UI에서 관리 옵션을 사용하여 업데이트할 수 있습니다).
refinements.lkml develop 권한이 있는 사용자에 대해 수정 가능 개발자가 가져온 CORE 프로젝트 파일에 정의된 뷰 및 Explore를 세분화할 수 있습니다.

마켓플레이스 블록 맞춤설정

개발 모드를 사용 설정하여 블록의 수정 가능한 파일을 맞춤설정합니다.

develop 권한이 있는 경우 블록의 CONFIG 프로젝트의 refinements.lkml 파일에서 LookML을 맞춤설정할 수 있습니다. 이미 블록의 CORE 프로젝트에 정의된 뷰 및 Explore를 세분화하거나 CORE 프로젝트에 아직 정의되지 않은 새 뷰 및 Explore를 추가할 수도 있습니다. 다른 LookML 프로젝트의 LookML 상세검색을 통해 가능한 모든 작업은 블록의 refinements.lkml 파일에서 가능합니다. 상세검색과 원본 LookML의 조합은 객체에 대해 원본 LookML인 것처럼 동작합니다.

또한 CONFIG 프로젝트의 manifest.lkml 파일을 변경하여 해당 블록에 캡처해야 하는 종속 항목을 지정할 수 있습니다.

원하는 맞춤설정을 수행하기 위해 이러한 파일을 수정하는 것으로 제한되지 않습니다. 구성 프로젝트에 새 파일을 만들 수도 있습니다. refinements.lkml 파일에 새 파일을 include하기만 하면 됩니다.

상세검색 파일 맞춤설정

develop 권한이 있는 경우 CONFIG 프로젝트에 커스텀 LookML을 추가하여 추가 데이터를 혼합하거나 블록의 핵심 분석 모델을 변경할 수 있습니다. 새 뷰를 만들어 기존 Explore에 조인하거나, 새 필드를 정의하거나, 기존 필드를 재정의하거나, 필요에 따라 라벨을 제공하여 제공할 분석에 대한 모델을 만들 수 있습니다. 구성 프로젝트에서 새 파일을 만든 경우 상세검색 파일에서 해당 파일을 include해야 합니다.

예를 들어 블록을 설치했고 refinements.lkml 파일에 다음이 포함되어 있다고 가정해 보겠습니다.

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

여기서 listing_idmanifest.lkml 파일의 listing 매개변수 값입니다.

상세검색을 사용하여 flights라는 뷰에 새 측정기준을 추가할 수 있습니다.

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

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

또는 UI에 항공기 단순화로 나타나므로 aircraft라는 Explore에 라벨을 적용할 수 있습니다.

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

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

refinements.lkml 파일은 블록의 '가상' 모델 파일에 자동으로 포함되어, 기본적으로 CORE 프로젝트에서 모델을 가져옵니다.

이 고급 주제에 대한 자세한 내용은 LookML 상세검색 문서를 참조하세요.

수정 가능한 매니페스트 파일 맞춤설정

상세검색을 사용하는 블록에는 CORE 프로젝트와 CONFIG 프로젝트 모두에 매니페스트 파일이 있지만 CONFIG 프로젝트의 매니페스트 파일만 수정할 수 있습니다.

CONFIG manifest.lkml 파일을 수정하여 CORE 프로젝트의 매니페스트 파일에 이미 표시된 항목에 프로젝트 매개변수를 추가할 수 있습니다. 예를 들어 local_dependency를 추가하여 동일한 Looker 인스턴스의 다른 블록에 블록을 조인할 수 있습니다.

local_dependency 매개변수가 포함된 블록을 사용하거나 빌드하려면 먼저 Looker 관리자가 로컬 프로젝트 가져오기 실습 기능을 사용 설정해야 합니다.

상수 값 업데이트

블록의 상수는 가져온 CORE 프로젝트의 매니페스트 파일에 정의됩니다. 허용되는 경우 상수 값을 재정의하려면 구성 중에 Marketplace UI에서 수행하거나 블록을 업데이트해야 합니다. 블록을 업데이트하려면 사용자에게 develop, manage_models, deploy 권한이 있어야 합니다.

블록을 업데이트하여 상수 값을 재정의하려면 다음 안내를 따르세요.

  1. Looker Marketplace에서 업데이트할 블록으로 이동합니다.
  2. 관리 버튼을 클릭합니다.
  3. 업데이트할 블록 이름 옆에 있는 톱니바퀴 아이콘을 클릭합니다. 블록 구성 창이 열립니다.
  4. 상수 값을 필요에 따라 변경합니다.
  5. 업데이트를 클릭하여 블록 구성 창을 닫고 변경사항으로 블록을 업데이트합니다.

변경사항은 설치된 프로젝트의 읽기 전용 marketplace_lock.lkml 파일에 반영됩니다.

확장 프로그램을 사용하는 Marketplace 블록에서 맞춤설정 유지

Looker Marketplace에서 사용할 수 있는 일부 블록은 LookML 확장을 사용하는 프로젝트로 구성되었습니다. Looker는 Looker 21.8 이상의 인스턴스에 대한 모든 Marketplace 블록을 LookML 상세검색을 활용하는 프로젝트 구조로 변환하고 확장을 기반으로 하는 블록에 대한 지원을 삭제합니다.

Looker는 이러한 블록이 제공되는 경우 사용자의 인스턴스에 있는 모든 Marketplace 블록의 상세검색 기반 버전을 설치하여 확장 프로그램으로 빌드된 블록을 교체하는 것을 권장합니다. 이 교체 프로세스는 간단하지만 Looker Marketplace 블록 목록에서 새로운 (상세검색) 블록을 설치하고 Looker Marketplace의 관리 페이지에서 원본 (확장 프로그램) 블록을 제거할 수 있습니다. 하지만 이 교체 프로세스는 확장 프로그램으로 빌드된 블록에 대한 맞춤설정을 유지하지 않습니다. 또한 Looker는 해당 콘텐츠를 기반으로 하는 Looker 콘텐츠 또는 함수(대시보드, Explore, 예약된 콘텐츠 전송, 알림)를 원본 블록에서 새 블록으로 이전하지 않습니다.

이 섹션에서는 처음부터 복제하기가 어렵거나 시간이 오래 걸리는 확장 프로그램을 사용하는 프로젝트로 빌드된 블록에 맞춤설정을 유지하는 방법을 설명합니다.

블록 맞춤설정을 유지하려면 Marketplace에서 패키지를 설치 및 관리할 수 있는 사용자는 다음을 수행해야 합니다.

  1. 원본 블록의 CONFIG 프로젝트를 업데이트하여 마이그레이션 준비
  2. Looker Marketplace에서 새 버전의 블록 설치
  3. 맞춤설정을 새 Marketplace 블록으로 이전하기
  4. 원본 블록을 기준으로 Looker 콘텐츠 다시 만들기
  5. 확장 프로그램으로 빌드된 블록 버전 제거

마이그레이션 준비를 위해 맞춤설정된 블록 업데이트

이 섹션에서는 확장 프로그램이 빌드된 블록에서 키 프로젝트 파일을 업데이트하여 블록의 맞춤설정을 새로운 상세검색 기반 블록 버전으로 복사할 수 있는 방법을 설명합니다. 확장 프로그램을 사용하는 프로젝트를 기반으로 하는 블록은 Marketplace에서 읽기 전용 CORE 프로젝트 및 수정 가능한 CONFIG 프로젝트로 설치됩니다.

  1. 다음 방법 중 하나를 사용하여 개발 섹션에서 블록의 CONFIG 프로젝트로 이동합니다.

    • 프로젝트 옵션을 클릭한 다음 프로젝트 이름을 클릭합니다.
    • 프로젝트 목록에서 블록의 CONFIG 프로젝트 이름을 클릭합니다.

    CONFIG 프로젝트 이름은 일반적으로 _config로 끝나지만 CORE 프로젝트 이름에는 일반적으로 서픽스가 없습니다.

  2. 프로젝트의 모델 파일을 엽니다. 다음과 같이 표시될 수 있습니다.


    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. 개발 모드에서 다음을 수행합니다.

    1. 전체 extends 줄과 extension 줄을 삭제합니다.
    2. explore 이름에서 _config를 삭제합니다.
    3. explore 이름 앞에 +를 붙입니다.

    이전 모델 파일의 예시는 다음과 같습니다.


    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. 이후 단계를 위해 이 파일의 콘텐츠를 복사하고 보관합니다.

새 Marketplace 블록 설치

상세검색을 사용하는 프로젝트를 기반으로 하는 블록은 모든 LookML 및 상수 매개변수화가 포함된 프로젝트를 원격으로 가져오는 수정 가능한 단일 LookML 프로젝트로 Marketplace에서 설치됩니다.

  1. Looker 메뉴 바에서 쇼핑 아이콘을 선택하여 Looker Marketplace로 이동합니다.
  2. 새롭게 상세검색된 Marketplace 블록의 목록을 클릭합니다. 이 블록은 확장 프로그램으로 빌드된 기존 블록과 이름이 동일합니다.
  3. 설치를 클릭하여 새 블록을 설치합니다. 이 블록이 설치되면 Looker Marketplace의 관리 페이지에 두 개의 동일한 목록이 표시됩니다.

새 Marketplace 블록으로 맞춤설정 이전

이 섹션에서는 원본 (확장 프로그램) 블록에 대한 업데이트를 새 (상세검색) 블록으로 전송하는 방법을 설명합니다.

  1. 개발 섹션에서 다음 방법 중 하나로 새 블록의 프로젝트를 엽니다.

    • 프로젝트 옵션을 클릭한 다음 프로젝트 이름을 클릭합니다.
    • 프로젝트 목록에서 블록의 프로젝트 이름을 클릭합니다.

    Marketplace 상세검색 블록의 이름은 일반적으로 marketplace_ 뒤에 목록 ID가 붙습니다.

  2. refinements.lkml 파일에 원본 (확장 프로그램) 블록의 모델 파일에서 업데이트된 콘텐츠를 붙여넣습니다. 이미 상세검색 파일에 있는 include 문은 유지해야 합니다.

원본 블록을 기반으로 Looker 콘텐츠 다시 만들기

Marketplace 블록의 상세검색 기반 버전을 채택하는 마지막 단계는 원본 확장 프로그램 기반 버전의 블록을 제거하는 것입니다. 일부 확장 기반 블록에는 사전 빌드된 LookML 대시보드 및 Explore가 포함되어 있습니다. 사용자가 원본 (확장 프로그램) 블록에 정의된 LookML 대시보드를 기반으로 하는 알림 또는 예약된 전송을 만든 경우 해당 블록이 Looker Marketplace에서 제거되면 해당 알림 또는 일정이 사용 중지되거나 각각 실패합니다.

새(상세검색) 블록의 LookML 대시보드에서 이러한 알림 또는 예약된 전송을 다시 만들어야 합니다. 일정알림에 대해 적절한 권한이 있는 Looker 관리자 및 사용자는 관리 섹션의 알림 및 일정 페이지를 사용하여 블록의 대시보드 이름을 검색한 다음 블록의 해당 대시보드에서 필요에 따라 새 알림 또는 예약된 전송을 생성할 수 있습니다.

필요에 따라 원본 (확장 프로그램) 블록의 Explore 또는 LookML 대시보드를 참조하는 다른 Looker 콘텐츠를 수정하여 새 (상세검색) 블록을 가리켜야 합니다.

원본 블록 제거

확장 프로그램으로 빌드된 블록 버전을 제거하려면 다음 안내를 따르세요.

  1. Looker 메뉴 바에서 쇼핑 아이콘을 선택하여 Looker Marketplace로 이동합니다.

  2. Looker Marketplace에서 왼쪽 탐색 메뉴에서 관리를 선택하여 관리 페이지를 엽니다.

  3. 관리 페이지에서 휴지통 아이콘을 클릭하여 원본 (확장 프로그램) 블록을 제거합니다. 버전 번호를 확인하여 확장 프로그램 블록 목록과 상세검색 블록 목록을 구분할 수 있습니다. 확장 프로그램 블록은 상세검색 블록 뒤에 있는 메이저 버전 중 하나입니다. 예를 들어 확장 프로그램 블록이 1.0.4 버전일 수 있고 상세검색 블록은 2.0.0 버전이 될 수 있습니다.

블록이 제거되면 Looker 인스턴스의 왼쪽 탐색 메뉴에서 원본 (확장 프로그램) 블록 목록이 사라지고 Explore 섹션에서 해당 Explore가 사라지며 LookML 대시보드 폴더에서 LookML 대시보드가 사라지며 블록의 LookML 대시보드를 기반으로 하는 알림 또는 예약된 전달이 각각 사용 중지되거나 실패합니다.

블록 문제 해결

Marketplace 블록에 오류가 표시되는 경우 스키마가 블록의 구조와 일치하지 않을 수 있습니다.

또한 블록 설치 중에 제공된 블록의 연결, 데이터베이스 또는 스키마를 나타내는 상수가 올바르게 정의되었는지 확인할 수 있습니다. 이렇게 하려면 다음을 수행하세요.

  1. Looker 메뉴 바에서 쇼핑 아이콘을 선택하여 Looker Marketplace로 이동합니다.

  2. Looker Marketplace에서 왼쪽 탐색 메뉴에서 관리를 선택하여 관리 페이지를 엽니다.

  3. 관리 페이지에서 블록의 톱니바퀴 아이콘을 클릭하여 구성 설정을 확인합니다.

  4. 구성 업데이트 창에서 블록이 올바르게 구성되었는지 확인합니다. 변경 후 업데이트를 클릭하여 업데이트를 저장하고 블록 구성 창을 닫습니다.