확장을 사용하여 LookML 코드 모듈화

실습 1시간 universal_currency_alt 무료 show_chart 중급
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.

GSP936

Google Cloud 사용자 주도형 실습 로고

개요

Looker는 데이터를 대화형으로 분석하고 시각화하는 데 사용할 수 있는 Google Cloud의 최신 데이터 플랫폼입니다. LookML 개발자는 새 필드, 테이블, 뷰, Explore를 만들어 데이터를 맞춤설정하고 정리함으로써 비즈니스 사용자가 이용하는 데이터를 선별합니다.

이 실습에서는 뷰와 Explore를 확장하여 LookML 코드를 모듈화하는 방법을 알아봅니다.

기본 요건

LookML에 대한 지식이 필요합니다. 이 실습을 시작하기 전에 Looker의 LookML 이해를 완료하는 것이 좋습니다.

학습할 내용

  • 확장을 통해 LookML 코드를 모듈화하고 쉽게 재사용하는 방법을 설명합니다.
  • 다른 뷰에 정의된 열을 통합하여 뷰를 확장합니다.
  • 다른 Explore에 정의된 조인을 통합하여 Explore를 확장합니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 계정에 추가 요금이 발생하지 않도록 하려면 개인용 Google Cloud 계정이나 프로젝트가 이미 있어도 이 실습에서는 사용하지 마세요.

실습을 시작하고 Looker에 로그인하는 방법

  1. 준비가 되면 실습 시작을 클릭합니다.

    이 실습에서 사용해야 하는 임시 사용자 인증 정보가 '실습 세부정보' 창에 표시됩니다.

    실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다.

    '실습 세부정보' 창에 표시된 실습 사용자 인증 정보를 확인합니다. 이 실습에서 Looker 인스턴스에 로그인할 때 이 정보를 사용합니다.

    참고: 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과됩니다.
  2. Looker 열기를 클릭합니다.

  3. 제공된 사용자 이름과 비밀번호를 이메일비밀번호 입력란에 입력합니다.

    사용자 이름:

    {{{looker.developer_username | Username}}}

    비밀번호:

    {{{looker.developer_password | Password}}} 중요: 이 페이지의 '실습 세부정보' 창에 표시된 사용자 인증 정보를 사용해야 합니다. Google Cloud Skills Boost 사용자 인증 정보를 사용하지 마세요. 개인용 Looker 계정이 있더라도 이 실습에 사용하지 마세요.
  4. 로그인을 클릭합니다.

    로그인이 완료되면 이 실습에서 사용할 Looker 인스턴스가 표시됩니다.

LookML 확장이란 무엇인가요?

확장을 사용하면 LookML 객체의 사본을 만들어 코드를 모듈화할 수 있습니다. 이 복사본은 다른 LookML 객체에 통합하고 원본 LookML 객체와 별개로 수정할 수 있습니다. Looker에서는 뷰, Explore, LookML 정의 대시보드를 확장할 수 있습니다. 확장을 사용하면 코드를 모듈화하여 코드 조각을 모듈이나 단위로 취급하고 이를 기반으로 모델을 확장할 수 있습니다.

확장을 사용하는 이유

DRY 코드 작성, 더 쉽고 빠른 변경, 일관성, 다양한 필드 집합의 더 쉬운 관리 등의 이유가 제시되었습니다.

확장을 사용하면 DRY(반복 금지) 코드를 작성할 수 있습니다. 기존 객체와 코드 섹션을 복사하여 로직을 더 쉽게 추가하거나 수정할 수 있습니다. 이는 조직과 사용 사례가 확장됨에 따라 모델을 확장하는 데 매우 중요합니다. 또한 코드를 항상 수동으로 다시 작성할 필요가 없으므로 모델의 일관성을 극대화할 수 있습니다. 또한 다양한 사용자 그룹의 필드 액세스를 더 쉽게 관리할 수 있으며 이는 확장성에도 중요합니다.

LookML 뷰 확장

앞서 언급했듯이 확장할 수 있는 객체 중 하나는 LookML 뷰입니다. 이는 일반적으로 기존 필드에 필드를 더 추가하거나 기존 필드의 로직을 업데이트하기 위해 수행됩니다. 또 다른 사용 사례는 sql_table_name 파라미터에 지정된 데이터베이스 테이블을 변경하는 것입니다.

뷰에 필드 추가와 뷰의 테이블 변경을 비교하여 간략히 설명하는 흐름도

LookML Explore 확장

확장할 수 있는 또 다른 객체는 Explore입니다. 특히 더 정규화된 데이터베이스 아키텍처에서는 항상 함께 조인해야 하는 여러 테이블이 있을 수 있습니다. 동일한 조인을 반복해서 다시 작성하지 않으려면 이미 조인되어 있는 '기본' Explore를 만든 다음 이를 확장하여 더 많은 뷰에 조인해야 하는 추가 Explore를 만들 수 있습니다. 또는 동일한 조인된 뷰 집합이 필요하지만 새로운 Explore가 다른 기본 뷰에서 시작될 수도 있습니다.

Explore에 뷰를 추가하는 경우와 Explore의 기본 뷰를 변경하는 경우를 개략적으로 설명하는 흐름도

확장 실행에 포함된 4단계

단계에는 복사, 병합, 충돌 해결, 완료가 포함됩니다.

Explore의 '작동 방식':

  1. Looker는 확장되는 LookML 객체의 사본을 만듭니다.
  2. 사본 또는 확장 객체는 새 정의나 수정된 정의와 병합됩니다.
  3. 충돌이 감지되면(정의를 수정하면 발생) 확장 객체가 제어합니다.
  4. 확장 객체는 다른 객체와 마찬가지로 LookML 모델에서 사용할 수 있습니다.
참고: 확장을 구현하는 것은 간단한 과정이지만, 예기치 않은 동작이 발생할 경우 이러한 세부정보를 알고 있으면 유용합니다.

태스크 1. 뷰를 확장하여 다른 뷰의 열 추가

여러 뷰에 동일한 코드를 복사하여 붙여넣는 대신, 일반적으로 사용되는 측정기준과 측정에 대한 정의가 포함된 하나의 중앙 집중식 뷰를 만들 수 있습니다. 그런 다음 확장을 사용하여 이러한 측정기준과 측정을 여러 뷰에 통합할 수 있습니다. 확장에 특정 파라미터를 사용하면 Looker가 복사할 뷰를 간단하게 식별할 수 있습니다.

비즈니스 관점에서 이는 매우 실용적입니다. 여러 팀에서 재사용할 수 있는 중앙 집중식 코드베이스 하나만 있으면 각 팀이 핵심 코드를 확장하고 자체 요구사항에 맞게 맞춤설정할 수 있기 때문입니다. 위치 측정기준을 추상화하면 한 번만 업데이트해도 해당 위치 뷰에서 확장된 모든 뷰에 업데이트가 전파된다는 이점이 있습니다.

이 태스크에서는 도시, 국가 등 위치 측정기준을 포함하는 새 뷰를 만듭니다. 이 뷰는 사용자 뷰, 이벤트 뷰 등 다른 뷰를 확장하여 재사용할 수 있습니다.

새 뷰 만들기

  1. 전환 버튼을 클릭하여 개발 모드로 전환합니다.

  2. 개발 탭에서 qwiklabs-ecommerce LookML 프로젝트를 선택합니다.

  3. 파일 브라우저 옆에 있는 (+)를 클릭하고 뷰 만들기를 선택합니다.

  4. 뷰 이름을 location으로 지정하고 views 폴더 아래로 드래그한 후 다음 코드를 추가합니다.

view: location { extension: required dimension: city { type: string sql: ${TABLE}.city ;; } dimension: state { type: string sql: ${TABLE}.state ;; map_layer_name: us_states } dimension: zip { type: zipcode sql: ${TABLE}.zip ;; } dimension: country { type: string map_layer_name: countries sql: ${TABLE}.country ;; } dimension: latitude { type: number sql: ${TABLE}.latitude ;; } dimension: longitude { type: number sql: ${TABLE}.longitude ;; } }

이 뷰 파일에는 다른 뷰에서 재사용하려는 측정기준(city, country, latitude, longitude, state, zip)의 정의가 포함되어 있습니다.

2번째 줄(extension: required)은 이 뷰를 다른 뷰에 조인할 수 없으므로 사용자에게 표시되지 않음을 의미합니다. 이 뷰를 사용하려면 extends 파라미터를 사용하여 다른 뷰에 통합해야 합니다. 이 작업은 다음 섹션에서 해 봅니다.

또한 다른 뷰와 달리 뷰 정의에 sql_table_name 파라미터를 포함하여 데이터에 사용할 테이블을 식별할 필요가 없습니다. 대신 이 뷰는 다음 섹션에서 확장될 뷰에 지정된 테이블을 사용합니다.

  1. 변경사항 저장을 클릭한 다음 LookML 검사를 클릭합니다.
    LookML 오류가 발견되지 않았으며 파일은 다음과 같아야 합니다.

업데이트된 location.view 파일이 열려 있으며 31줄의 코드가 포함되어 있습니다.

확장 추가

  1. users.view 파일을 엽니다.

  2. 파일 상단의 새 줄(1번째 줄)에 다음 코드를 추가합니다. 이 코드는 위치 뷰를 사용하여 사용자 뷰가 확장되고 있음을 나타냅니다.

include: location.view
  1. sql_table_name 위의 3번째 줄에 다음 코드를 추가합니다.
extends: [location] 참고: 확장이 추가되었으므로 sql_table_name 파라미터는 파일의 기존 객체와 확장을 통해 지역에서 추가된 객체 모두에 대해 데이터 소스로 사용할 테이블을 식별합니다.
  1. city, country, latitude, longitude, state, zip(파일의 기존 순서)에 대한 기존 측정기준 정의를 삭제합니다. 이러한 측정기준은 users.view 파일에 명시적으로 정의되는 대신 location.view에서 확장을 통해 통합됩니다.

  2. 변경사항 저장을 클릭한 다음 LookML 검사를 클릭합니다.

  3. event.view 파일을 엽니다.

  4. 파일 상단의 새 줄(1번째 줄)에 다음 코드를 추가합니다.

include: location.view
  1. sql_table_name 위의 3번째 줄에 다음 코드를 추가합니다.
extends: [location]
  1. 사용자 뷰에서 했던 것처럼 city, country, latitude, longitude, state, zip에 대한 기존 측정기준 정의를 삭제합니다.

  2. 변경사항 저장을 클릭한 다음 LookML 검사를 클릭합니다.

이제 파일이 다음과 같이 표시됩니다.

업데이트된 events.view 파일이 열려 있으며 25줄의 코드가 포함되어 있습니다.

주문 항목 Explore에서 사용자 및 이벤트의 확장된 뷰 테스트

  1. 주문 항목의 Explore 페이지로 이동합니다.

  2. 사용자 뷰에서 도시, 국가, 위도, 경도, , 우편번호 측정기준을 선택합니다.

  3. 실행을 클릭합니다.

users.view 파일에서 도시, 국가, 위도, 경도, 주, 우편번호와 같은 측정기준의 정의를 삭제했더라도 location.view 파일에서 확장을 사용하여 users.view 파일에 추가했기 때문에 이러한 측정기준을 보고 사용할 수 있습니다.

users.view 파일과 location.view 파일의 열을 표시하는 주문 항목 Explore 시각화

  1. 이벤트 Explore로 이동합니다.

  2. 이벤트 뷰에서 도시, 국가, 위도, 경도, , 우편번호 측정기준을 선택합니다.

events.view 파일의 측정기준을 표시하는 주문 항목 Explore 시각화

다시 말하지만 events.view 파일에서 이러한 측정기준의 정의를 삭제했더라도 확장을 사용하여 events.view 파일에 추가되었기 때문에 이러한 측정기준을 보고 사용할 수 있습니다.

  1. Looker IDE에서 events.view 파일로 다시 이동합니다.

변경사항 커밋 및 프로덕션에 배포

  1. LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.

  2. 커밋 메시지를 추가하고 커밋을 클릭합니다.

  3. 마지막으로 프로덕션에 배포를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 뷰를 확장하여 다른 뷰의 열 추가

태스크 2. Explore를 확장하여 다른 Explore에서 조인 추가

모델 파일의 여러 Explore에 동일한 조인을 복사하여 붙여넣는 대신, Explore 전반에서 가장 일반적으로 사용되는 조인이 포함된 하나의 기본 Explore를 만들 수 있습니다. 그런 다음 확장을 사용하여 해당 기본 Explore를 재사용하고 모델 파일에 정의된 다른 Explore를 정의하고 맞춤설정할 수 있습니다.

이에 관한 일반적인 비즈니스 사용 사례는 하나의 핵심 Explore를 만들어 조직 내 특정 사용자 그룹/팀을 위한 다른 Explore를 만드는 데 사용하는 것입니다.

이 섹션에서는 여러 비즈니스팀에 필요한 모든 뷰에 대한 조인을 포함하는 하나의 기본 Explore를 만든 다음, 확장을 사용하여 여러 팀에 대해 해당 기본 Explore를 재사용하고 맞춤설정합니다.

  1. training_ecommerce.model 파일로 이동합니다.

  2. order_items Explore 정의(약 43번째 줄) 뒤에 다음 코드를 사용하여 base_events라는 새 기본 Explore를 만듭니다.

explore: base_events { extension: required join: event_session_facts { type: left_outer sql_on: ${events.session_id} = ${event_session_facts.session_id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${events.user_id} = ${users.id} ;; relationship: many_to_one } }

extension: required 줄을 다시 확인하세요. 이 Explore가 사용자에게 표시되지 않음을 의미합니다. 파일은 다음과 유사해야 합니다.

추가된 base_events Explore 코드 줄이 강조 표시된 training.ecommerce.model 파일이 열려 있습니다.

이제 이벤트 Explore의 기존 정의를 수정하여 base_events의 뷰로 확장합니다.

  1. 이벤트 Explore에서 event_session_factsusers에 대한 기존 조인을 삭제합니다.

이러한 조인된 뷰는 다음 단계에서 추가된 코드를 통해 base_events Explore에서 통합됩니다. event_session_funnel의 조인 정의는 특정 사용자 집합에 맞게 이 Explore를 맞춤설정하기 위해 유지됩니다. 파일은 다음과 유사해야 합니다.

training.ecommerce.model 파일이 열려 있고 업데이트된 43~56번째 줄이 강조 표시되어 있습니다.

  1. 이벤트 Explore 정의의 첫 번째 줄 아래에 다음 코드를 추가합니다.
description: "Start here for Event analysis" fields: [ALL_FIELDS*] from: events view_name: events extends: [base_events] 참고: 새 줄은 Explore 정보 버튼에 대한 설명을 제공하고, 어떤 뷰 파일의 필드(모든 필드)를 추가할지 식별하며, 이벤트 Explore를 확장하는 데 사용되는 Explore를 지정합니다.

이벤트 Explore의 최종 정의는 다음과 유사해야 합니다.

이벤트 Explore 줄이 업데이트된 training.ecommerce.model 파일

참고: fromview_name은 모두 이벤트 뷰를 가리키는데 왜 둘 다 포함해야 할까요? from은 이벤트라는 원본 뷰(뷰의 별칭 이름이나 확장된 뷰가 아님)를 사용하고 있는지 확인하며, view_name은 뷰 파일 이름으로, 별칭 등이 될 수 있습니다.
  1. 수정된 이벤트 Explore 정의 아래에 다음 코드를 사용하여 conversions라는 새 Explore를 추가합니다.
explore: conversions { description: "Start here for Conversion Analysis" fields: [ALL_FIELDS*, -order_items.total_revenue_from_completed_orders] from: events view_name: events extends: [base_events] join: order_items { type: left_outer sql_on: ${users.id} = ${order_items.user_id} ;; relationship: many_to_many } }

여기에서 2~6번째 줄은 Explore 정보 버튼에 대한 설명을 제공하고, 어떤 뷰 파일의 어떤 필드를 포함할지(주문 항목 뷰의 total_revenue_from_completed_orders 측정을 제외한 모든 필드) 식별하며, 이 Explore를 확장하는 데 사용되는 Explore(즉, 이벤트 Explore를 확장하는 데 사용된 것과 동일한 base_events Explore)를 지정합니다.

  1. 변경사항 저장을 클릭한 다음 LookML 검사를 클릭합니다.
    LookML 오류가 발견되지 않았으며 파일은 다음과 같아야 합니다.

conversions Explore 코드 줄이 추가된 training.ecommerce.model 파일

이제 새로운 Explore를 테스트해 보겠습니다. 각 Explore(이벤트전환)로 이동하여 포함된 뷰를 확인합니다. Explore는 핵심 뷰 집합을 공유하지만 추가 뷰로 맞춤설정되어 있으므로 각각 다른 사용자층을 대상으로 합니다.

  1. 기본 Explore(이벤트, 이벤트 세션 팩트, 사용자)에 조인된 뷰와 이벤트 세션 유입경로 뷰가 포함된 이벤트 Explore로 이동합니다.

모든 필드 탭 아래에 커스텀 필드, 이벤트 세션 팩트, 이벤트 세션 유입경로, 이벤트, 사용자를 나열하는 이벤트 Explore 페이지

  1. 설명을 검토하려면 이벤트 옆에 있는 정보(정보 버튼) 위에 마우스 포인터를 가져갑니다.

  2. 기본 Explore(이벤트, 이벤트 세션 팩트, 사용자)에 조인된 뷰와 주문 항목 뷰가 포함된 전환 Explore로 이동합니다.

모든 필드 탭 아래에 커스텀 필드, 이벤트 세션 팩트, 이벤트, 주문 항목, 사용자가 나열된 전환 Explore 페이지

  1. 설명을 검토하려면 전환 옆에 있는 정보(정보 버튼) 위에 마우스 포인터를 가져갑니다.

  2. 주문 항목 뷰의 측정을 검토합니다. total_revenue_from_completed_orders가 나열되어 있지 않습니다.

  3. Looker IDE의 training_ecommerce.model 파일로 돌아갑니다.

변경사항 커밋 및 프로덕션에 배포

  1. LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.

  2. 커밋 메시지를 추가하고 커밋을 클릭합니다.

  3. 마지막으로 프로덕션에 배포를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Explore를 확장하여 다른 Explore에서 조인 추가

수고하셨습니다

이 실습에서는 사용자 및 이벤트 뷰를 확장하여 위치 측정기준을 포함하는 새 뷰를 만들고, 여러 뷰에 대한 조인을 포함하는 기본 Explore를 만들고, 확장을 사용하여 여러 팀과 사용자를 위해 기본 Explore를 재사용하고 맞춤설정했습니다.

다음 단계/더 학습하기

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2024년 4월 22일

실습 최종 테스트: 2023년 9월 6일

Copyright 2026 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.