시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create a view file for the SQL derived table
/ 35
Create a view file for the native derived table
/ 35
Join the view for the SQL derived table
/ 30
Looker는 비즈니스 사용자가 데이터를 대화형으로 분석하고 시각화할 수 있는 Google Cloud의 최신 데이터 플랫폼입니다. LookML 개발자는 새 필드, 테이블, 뷰를 만들어 데이터를 맞춤설정하고 정리함으로써 비즈니스 사용자가 사용하는 데이터를 선별합니다.
Looker에서 LookML 개발자는 파생 테이블을 사용하여 기본 데이터베이스에 아직 정의되지 않은 새 테이블을 만들 수 있습니다. 예를 들어 LookML 개발자는 파생 테이블을 만들어 전자상거래 데이터 세트의 각 주문에 대한 주문 세부정보와 같은 기존 테이블의 세부정보를 요약할 수 있습니다.
이 실습에서는 LookML에서 SQL 파생 테이블과 기본 파생 테이블이라는 두 가지 유형의 파생 테이블을 만드는 방법을 알아봅니다.
이 실습에서는 LookML에 qwiklabs-ecommerce라는 프로젝트가 이미 생성되어 있습니다. 이 프로젝트는 주문, 제품, 사용자에 대한 정보가 포함된 모의 전자상거래 데이터 세트를 기반으로 합니다. Looker 문서에서 LookML 모델링에 대해 자세히 알아볼 수 있습니다.
이 실습에서는 다음을 수행하는 방법에 대해 알아봅니다.
qwiklabs-ecommerce) 수정다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
준비가 되면 실습 시작을 클릭합니다.
이 실습에서 사용해야 하는 임시 사용자 인증 정보가 '실습 세부정보' 창에 표시됩니다.
실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다.
'실습 세부정보' 창에 표시된 실습 사용자 인증 정보를 확인합니다. 이 실습에서 Looker 인스턴스에 로그인할 때 이 정보를 사용합니다.
Looker 열기를 클릭합니다.
제공된 사용자 이름과 비밀번호를 이메일 및 비밀번호 입력란에 입력합니다.
사용자 이름:
비밀번호:
로그인을 클릭합니다.
로그인이 완료되면 이 실습에서 사용할 Looker 인스턴스가 표시됩니다.
LookML에서는 SQL 쿼리를 사용하여 SQL 파생 테이블을 정의하거나 Explore 쿼리를 사용하여 기본 파생 테이블을 정의하는 방식으로 파생 테이블을 정의할 수 있습니다.
이 작업에서는 SQL 쿼리를 작성하여 각 주문의 세부정보(주문 ID, 사용자 ID, 항목 수, 주문된 항목의 총비용)를 요약하는 새 SQL 파생 테이블을 정의합니다. 그런 다음 qwiklabs-ecommerce 프로젝트에서 SQL 파생 테이블의 새 뷰 파일을 만듭니다.
Looker 탐색 메뉴에서 개발 > SQL Runner를 클릭합니다.
SQL 쿼리 창에 다음 쿼리를 추가합니다.
이 예시에서 원하는 쿼리는 order_id와 user_id를 선택하고, 각 주문과 연결된 항목 수를 계산한 다음, 해당 항목의 가격을 합산합니다.
구체적으로 COUNT 절은 개별 주문 항목 ID(order_items 테이블의 기본 키)의 수를 계산하고, SUM 절은 주문 항목 ID의 sale_price를 합산합니다.
GROUP BY 절은 order_id 및 user_id별로 결과를 그룹화하는 데 사용되며, LIMIT 절은 결과를 제한하는 데 사용되는데, 이는 쿼리가 성공적으로 작동하는지 확인하기 위해 레코드의 하위 집합만 검토하면 되기 때문입니다.
이 예시에서 쿼리는 실제로 주문 ID, 사용자 ID, 각 주문과 연결된 항목 수, 각 주문의 총수익을 반환합니다.
LIMIT 절은 이 테스트 중에 반환되는 데이터 양을 줄이는 데 사용됩니다. SQL 파생 테이블의 새 뷰 파일을 만들 때 이후 단계에서 LIMIT 절을 삭제할 것입니다.
페이지 오른쪽 상단의 실행 옆에 있는 설정()을 클릭하고 프로젝트에 추가를 선택합니다.
프로젝트에서 qwiklabs-ecommerce를 선택합니다.
뷰 이름에 order_details를 입력합니다.
추가를 클릭합니다.
SQL 파생 테이블에 대해 새로 생성된 뷰 파일을 검토하기 위해 Looker IDE로 리디렉션됩니다.
order_details 뷰의 새 뷰 파일이 views 폴더 외부에 생성되었습니다. 프로젝트에서 뷰 파일을 체계적으로 정리하는 것이 좋습니다.
뷰 옆의 화살표를 클릭하여 뷰 목록을 확인합니다.
order_details.view를 클릭하고 views 폴더 아래로 드래그합니다.
order_details.view를 클릭하여 SQL 파생 테이블의 뷰 파일을 확인합니다.
Looker는 SQL 쿼리의 SELECT 절에 있는 각 열에 대한 측정기준과 새 개수 측정값을 자동 생성합니다. 다음 단계에서는 더 이상 필요하지 않은 LIMIT 절을 삭제하고, 새 개수 측정값을 숨기고, 뷰의 기본 키를 추가하도록 뷰 파일을 수정합니다.
LIMIT 10의 코드 줄을 삭제합니다.앞서 강조한 것처럼 Looker는 파생 테이블에 사용된 측정기준과 함께 개수 측정값을 자동 생성합니다. 이미 다른 뷰에서 동일한 수치를 제공하는 개수가 있는 경우 이 자동 생성된 개수 측정값은 유용하지 않을 수 있습니다.
이 예시에서 자동 생성된 개수 측정값은 주문 ID를 계산하며 order_items 뷰에 이미 주문 개수가 있습니다.
hidden: yes 파라미터를 사용하여 개수 측정값을 삭제하거나 숨길 수 있습니다. 다른 개수와 동일한지 검증하기 위해 이 개수 측정값을 보관하고 싶다면, 숨기는 것이 좋습니다.
type: count 앞에 새 줄을 추가하고 hidden: yes를 입력합니다.마지막으로 새 뷰에 기본 키가 있는지 확인하는 것이 좋습니다.
이 예시에서는 각 주문에 관한 세부정보를 제공하는 이 뷰의 중심 구성 ID인 order_id 측정기준에 primary_key: yes 파라미터를 추가할 수 있습니다.
type: number 앞에 새 줄을 추가하고 primary_key: yes를 입력합니다.이제 order_details라는 새 뷰를 사용하여 새 측정기준과 측정값을 만들고, 모델 파일의 Explore에 조인하거나 Git 워크플로를 완료하여 변경사항을 프로덕션으로 보낼 수 있습니다.
LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.
커밋 메시지를 추가하고 커밋을 클릭합니다.
마지막으로 프로덕션에 배포를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
SQL 파생 테이블과 달리 기본 파생 테이블(NDT)은 LookML로만 표현됩니다. 기본 파생 테이블은 재사용성이라는 LookML의 핵심 원칙을 구현한다는 점에서 유용합니다. 이를 통해 이미 존재하는 측정기준, 측정값, 심지어 Explore 및 조인 로직까지 상속할 수 있습니다.
'하드 코딩된' 데이터베이스 참조의 수를 최소화하므로 장기적으로 코드를 훨씬 더 쉽게 유지관리할 수 있습니다.
예를 들어 이전 섹션의 order_details SQL 파생 테이블을 생각해 보세요. SQL에는 order_items의 COUNT와 sale_price의 SUM이 포함되어 있습니다. 그러나 order_items 뷰에는 이미 order_item_count 및 total_revenue에 대한 측정값이 있습니다. 새 SQL 파생 테이블을 만드는 대신 기존 측정기준과 측정값을 사용하여 새 NDT를 쉽게 정의할 수 있습니다.
이 섹션에서는 이전 예시에서 만든 SQL 파생 테이블을 기본 파생 테이블로 다시 만듭니다. 기본 파생 테이블을 만드는 가장 쉬운 방법은 Explore를 사용하는 것입니다. 주문 항목 Explore를 사용하여 원하는 기본 파생 테이블을 만듭니다. 이 테이블에는 각 주문의 세부정보(주문 ID, 사용자 ID, 항목 수, 주문된 항목의 총비용)가 포함됩니다.
Looker 탐색 메뉴에서 Explore를 클릭합니다.
전자상거래 학습에서 주문 항목을 클릭합니다.
주문 항목 옆의 화살표를 클릭합니다.
사용 가능한 측정기준 및 측정값이 주문 항목 데이터 패널에 나열됩니다. Explore는 유효하고 성능이 우수한 SQL 쿼리를 자동으로 생성합니다.
주문 항목 > 측정기준에서 주문 ID와 사용자 ID를 클릭합니다.
주문 항목 > 측정값에서 주문 수와 총수익을 클릭합니다.
실행을 클릭하여 결과를 확인합니다.
잠시 시간을 내어 쿼리 결과를 검토하고 원하는 결과가 반환되는지 확인합니다. 이 예시에서 요청은 주문 ID, 사용자 ID, 각 주문과 연결된 항목 수, 각 주문의 총수익을 정확하게 반환합니다.
페이지 오른쪽 상단에 있는 실행 옆에 있는 설정()을 클릭하고 LookML 가져오기를 선택합니다.
파생 테이블을 클릭하고 LookML 코드를 컴퓨터 클립보드에 복사합니다. 이 LookML 코드를 기본 파생 테이블의 새 뷰 파일에 붙여넣습니다.
새 탭에서 새 Looker 창을 엽니다.
Looker 탐색 메뉴에서 개발 탭을 클릭한 다음 qwiklabs-ecommerce LookML 프로젝트를 선택합니다.
파일 브라우저 옆에 있는 파일 또는 폴더 추가()를 클릭합니다.
뷰 만들기를 선택합니다.
파일 이름에 order_details_summary를 입력합니다.
만들기를 클릭합니다.
order_details_summary 뷰의 새 뷰 파일이 views 폴더 외부에 생성되었음을 다시 확인합니다.
뷰 옆의 화살표를 클릭하여 뷰 목록을 확인합니다.
order_details_summary.view를 클릭하고 views 폴더 아래로 드래그합니다.
order_details_summary.view를 클릭하여 기본 파생 테이블의 뷰 파일을 확인합니다.
뷰 파일에서 자동 생성된 모든 LookML을 삭제합니다.
기본 파생 테이블에 사용하기 위해 복사한 LookML 코드를 붙여넣습니다.
자동 생성된 뷰 이름(예: add_a_unique_name_1623275538)을 order_details_summary로 바꿉니다. 파일은 다음과 유사해야 합니다.
Looker가 모델 파일을 포함하라는 제안을 하지만 해당 줄은 주석 처리되어 있습니다. 모델 파일의 줄은 주석 처리된 상태로 두는 것이 좋습니다. 모델 파일은 거의 항상 다른 파일을 포함하므로 여러 파일이 서로를 포함하게 되면 모델에 순환 종속 항목이 생성될 위험이 있습니다. 이로 인해 문법 검사 오류가 발생할 수 있습니다.
이제 order_details_summary라는 새 뷰를 사용하여 새 측정기준과 측정값을 만들고, 모델 파일의 Explore에 조인하고, Git 워크플로를 완료하여 변경사항을 프로덕션으로 보낼 수 있습니다.
지금은 이 뷰를 Explore에 조인하지 않습니다. 이 작업은 SQL 파생 테이블에서 진행할 것입니다.
LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.
커밋 메시지를 추가하고 커밋을 클릭합니다.
마지막으로 프로덕션에 배포를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 섹션에서는 새 파생 테이블을 검토하고 테스트합니다. 먼저 모델 파일의 order_items Explore 정의에 조인한 다음 주문 항목 Explore를 사용하여, 변경사항을 프로덕션에 푸시할 경우 비즈니스 사용자가 보게 될 내용을 검토합니다.
기본 파생 테이블의 경우 마지막 단계를 완료하지 않아도 되지만, 뷰를 Explore에 조인하는 프로세스는 뷰가 SQL 파생 테이블 또는 기본 파생 테이블을 위해 생성되었는지 여부와 관계없이 동일합니다.
같은 페이지에서 model 폴더 안에 있는 training_ecommerce.model 파일을 클릭하여 내용을 수정합니다.
explore: order_items 정의를 찾습니다. users 뷰에 대한 조인과 같이 여러 조인이 정의되어 있는 것을 확인할 수 있습니다.
explore: order_items 정의에서 기존 users 조인 위에 다음을 지정하여 order_details에 대한 새 조인을 추가합니다.sql_on 파라미터는 조인 필드를 order_id로 식별합니다. relationship 파라미터는 order_items에 order_id의 인스턴스가 여러 개 있을 수 있지만 order_details에는 각 주문에 대한 요약 행으로 구성된 각 order_id의 인스턴스가 하나만 있음을 식별합니다.
Looker 탐색 메뉴에서 Explore를 클릭합니다.
전자상거래 학습에서 주문 항목을 클릭합니다.
주문 세부정보 옆에 있는 화살표를 클릭합니다.
주문 세부정보 > 측정기준에서 주문 ID, 주문 항목 수, 주문 수익, 사용자 ID를 클릭합니다.
실행을 클릭하여 결과를 확인합니다.
SQL 탭을 클릭하여 Looker에서 생성한 SQL 쿼리를 확인합니다.
WITH 절로 식별되는 공통 테이블 표현식(CTE)을 확인합니다. 이 기본 파생 테이블은 기본 데이터베이스에 저장되는 것이 아니라 런타임에 CTE로 생성되기 때문에 임시 테이블로 간주됩니다.
파생 테이블은 기본 데이터베이스에 저장되는 영구 테이블로 만들 수도 있습니다. 영구 파생 테이블에 대한 자세한 내용은 영구 파생 테이블(PDT) 만들기 문서를 검토하세요.
다음 섹션에서는 파생 테이블을 데이터베이스에 다시 쓸 수 있도록 유지하는 방법을 살펴보겠습니다.
training_ecommerce.model 파일로 다시 이동합니다.LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.
커밋 메시지를 추가하고 커밋을 클릭합니다.
마지막으로 프로덕션에 배포를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
지금까지 예시에서 살펴본 파생 테이블은 임시 테이블이었습니다. 즉, Looker는 Explore 쿼리에서 이러한 테이블에 대한 CTE(또는 임시 테이블)를 생성합니다.
이제 파생 테이블의 다른 유형인 영구 파생 테이블에 대해 알아보겠습니다. 영구 파생 테이블(PDT)은 연결된 데이터베이스에 기록되고 저장됩니다. 파생 테이블을 유지하는 단계는 SQL 파생 테이블인지 기본 파생 테이블인지에 관계없이 동일합니다.
앞서 언급한 것처럼 파생 테이블을 유지하면 비즈니스 사용자가 필요할 때 바로 사용할 수 있으므로 쿼리 런타임이 단축된다는 이점이 있습니다. 단점은 데이터베이스의 저장공간을 차지하며(비용과 관련될 수 있음) 유연성이 떨어진다는 것입니다.
파생 테이블을 유지하려면 정의에서 다음 파라미터 중 하나 또는 두 개를 사용해야 합니다.
datagroup_trigger는 모델에 구성된 데이터 그룹 또는 캐싱 정책을 사용합니다. 모델에 데이터 그룹이 정의되어 있는 경우 파생 테이블을 유지하는 데 가장 적합한 방법입니다.sql_trigger_value는 하나의 값을 반환하는 미리 작성된 SELECT 문을 사용합니다. Looker는 SELECT 문을 데이터베이스로 반복해서 전송하고 결과가 변경된 것을 발견하면 이를 PDT를 다시 빌드하라는 신호로 간주합니다.persist_for는 PDT에 '1시간' 또는 '4시간'과 같은 설정된 기간 동안 유지되도록 지시합니다.하지만 persist_for에는 재빌드 로직이 없으므로 PDT는 해당 기간 동안 업데이트되지 않습니다. 또한 시간이 지나면 PDT가 삭제되고 비즈니스 사용자가 쿼리에 필요할 때까지 다시 나타나지 않습니다.
PDT의 주요 이점은 데이터를 즉시 사용할 수 있어 쿼리 런타임을 최소화할 수 있다는 것이므로 persist_for를 sql_trigger_value와 함께 사용하여 PDT에 데이터 업데이트가 캡처되도록 하거나 datagroup_trigger 또는 sql_trigger_value를 사용하는 것이 좋습니다.
이 작업에서는 모델 파일에 사전 정의된 데이터 그룹(캐시 정책)을 기반으로 영구 파생 테이블을 다시 빌드하는 파라미터 datagroup_trigger를 사용하여 기본 파생 테이블을 유지합니다.
order_details_summary라는 기본 파생 테이블의 경우 training_ecommerce_default_datagroup을 datagroup_trigger로 추가하여 영구 파생 테이블이 training_ecommerce.model 내의 training_ecommerce_default_datagroup에 제공된 규칙을 사용하여 매시간 모델에 정의된 모든 객체를 다시 빌드하도록 합니다.
Looker 탐색 메뉴에서 개발 탭을 클릭한 다음 qwiklabs-ecommerce LookML 프로젝트를 선택합니다.
뷰 옆의 화살표를 클릭하여 뷰 목록을 확인합니다.
order_details_summary.view를 클릭하여 기본 파생 테이블의 뷰 파일을 확인합니다.
derived_table 정의에서 explore_source: order_items의 닫는 괄호(}) 뒤에 새 줄을 추가하고 다음을 붙여넣습니다.
Looker 탐색 메뉴에서 Explore를 클릭합니다.
전자상거래 학습에서 주문 항목을 클릭합니다.
주문 세부정보 옆에 있는 화살표를 클릭합니다.
주문 세부정보 > 측정기준에서 주문 ID, 주문 항목 수, 주문 수익, 사용자 ID를 클릭합니다.
실행을 클릭하여 결과를 확인합니다.
SQL 탭을 클릭하여 Looker에서 생성한 SQL 쿼리를 확인합니다.
이제 파생 테이블이 유지되었으므로 WITH 절로 식별된 이전 CTE는 더 이상 존재하지 않으며 order_details_summary 영구 파생 테이블에서 필드를 쿼리하는 SELECT 문으로 대체되었습니다.
order_details_summary 파일로 다시 이동합니다.LookML 검사를 클릭한 다음 변경사항 커밋 및 푸시를 클릭합니다.
커밋 메시지를 추가하고 커밋을 클릭합니다.
마지막으로 프로덕션에 배포를 클릭합니다.
이 실습에서는 LookML에서 SQL 파생 테이블과 기본 파생 테이블을 만들어 기본 데이터베이스에 아직 없는 새 테이블을 정의하는 방법을 배웠습니다.
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2024년 4월 22일
실습 최종 테스트: 2021년 10월 11일
Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.