반응형

LookML 6

[Looker] 5. 고급 LookML: Liquid와 매개변수를 활용한 동적 쿼리

안녕하세요, IT 전문 블로거 팬돌프입니다.현업 비즈니스 담당자에게 대시보드를 시연할 때, 개발자들이 가장 식은땀을 흘리게 만드는 질문이 있습니다."이 차트, 지금은 '매출액' 기준인데 버튼 하나 누르면 '이익률'로 바뀌게 할 수 있나요? 차트 2개 말고 1개로요." 보통의 시각화 도구라면 차트를 하나 더 만들거나 페이지를 분리해야 합니다. 하지만 루커는 다릅니다. 사용자가 직접 매개변수(Parameter)를 입력하고, 그 입력값에 따라 SQL이 실시간으로 바뀌도록 코딩할 수 있기 때문입니다.이 마법을 가능하게 하는 것이 바로 쇼피파이(Shopify)에서 만든 템플릿 언어인 Liquid입니다. 오늘은 LookML 안에 숨겨진 또 하나의 강력한 언어, Liquid를 활용해 루커를 200% 활용하는 방법을 ..

[Looker] 4. 중급 테크닉: 파생 테이블(Derived Tables)의 마법

안녕하세요, IT 전문 블로거 팬돌프입니다.실무에서 데이터 분석을 하다 보면, 데이터베이스에 있는 원본 테이블(Raw Data)만으로는 해결되지 않는 복잡한 요구사항을 마주하게 됩니다."개발자님, 각 고객별로 '첫 구매일'과 '생애 총 구매액'을 구해서, 주문 테이블 옆에 붙여서 분석하고 싶어요."SQL이라면 GROUP BY를 사용해 서브 쿼리(Sub-query)나 CTE(Common Table Expression, WITH 절)를 만들어서 메인 쿼리와 조인하겠죠?루커에서는 이 역할을 파생 테이블(Derived Table)이 담당합니다. 이 기능을 잘 쓰면 복잡한 SQL 로직을 깔끔하게 정리할 수 있고, 무엇보다 대시보드 속도를 비약적으로 향상시킬 수 있습니다.1. 파생 테이블(Derived Table)..

[Looker] 3. LookML 기초 2: 데이터 관계 정의와 Explore 설계

안녕하세요, IT 전문 블로거 팬돌프입니다.데이터베이스에서 하나의 테이블만으로 완벽한 분석을 끝내는 경우는 거의 없습니다. 주문 내역에는 고객 정보가 붙어야 하고, 상품 정보가 연결되어야 비로소 "30대 남성이 가장 많이 구매한 전자제품" 같은 의미 있는 비즈니스 인사이트가 도출되죠.SQL에서는 이를 JOIN으로 해결합니다. 하지만 루커의 Explore에서는 단순히 테이블을 붙이는 것을 넘어, 루커에게 "이 두 테이블이 논리적으로 어떤 관계(1:1, 1:N)인지"를 명확히 알려주어야 합니다. 그래야 루커가 조인으로 인한 데이터 뻥튀기(Fan-out) 현상 없이 정확한 숫자를 계산해 줄 수 있기 때문입니다.오늘은 루커의 쿼리 생성 엔진을 완벽하게 제어하는 Explore 설계와 Join 전략에 대해 심도 있..

[Looker] 2. LookML 기초 1: 뷰(View)와 모델(Model)의 해부학

안녕하세요, IT 전문 블로거 팬돌프입니다.루커 프로젝트를 처음 생성하고 IDE(통합 개발 환경)에 들어가면 수많은 파일들이 보여 당황스러우셨을 겁니다. 하지만 걱정하지 마세요. 루커의 모든 로직은 결국 뷰(View)와 모델(Model)이라는 두 가지 파일 형식으로 귀결됩니다.비유하자면 뷰(View)는 요리에 사용할 신선한 식재료를 손질하는 곳이고, 모델(Model)은 손질된 재료를 어떤 조합으로 내보낼지 결정하는 주방 및 메뉴판이라고 할 수 있습니다.오늘은 이 두 가지 요소가 어떻게 작동하는지 기술적으로 파헤쳐 보겠습니다.1. 뷰(View): 물리적 테이블의 디지털 트윈뷰(View) 파일(.view.lkml)은 LookML의 가장 기본 단위로, 데이터베이스에 있는 물리적 테이블이나 SQL 쿼리로 만들어..

[Looker] 1. 루커(Looker)의 시작: 왜 우리는 시맨틱 레이어에 주목해야 하는가?

안녕하세요, IT 전문 블로거 팬돌프입니다.오늘부터 데이터 엔지니어링과 BI(Business Intelligence) 시장에서 가장 뜨거운 감자로 떠오른 루커(Looker)에 대해 본격적인 기술 연재를 시작하려 합니다.개발자 혹은 데이터 엔지니어로서 현업과 일하다 보면 이런 경험, 한 번쯤 있으실 겁니다."개발자님, 마케팅 팀에서 뽑은 지난달 매출이랑 재무팀 리포트의 매출 숫자가 달라요. 뭐가 맞는 거죠?" 분명 같은 데이터베이스에서 데이터를 가져왔는데 결과가 다릅니다. 이는 각 부서가 사용하는 쿼리의 로직(Logic)이 파편화되어 있고, 서로 다른 시점에 추출된 엑셀(Excel) 파일이나 CSV 파일을 기준으로 의사결정을 내리기 때문입니다. 우리는 이것을 데이터 사일로(Data Silo) 또는 지표의 ..

[Looker] 데이터의 진정한 가치를 발견하다: 루커(Looker) 아키텍트 완벽 가이드 (기초부터 고급 튜닝까지)

안녕하세요! IT 전문 블로거 팬돌프입니다.데이터 엔지니어링과 BI(Business Intelligence)의 핵심 도구로 자리 잡은 루커(Looker)*에 대한 글을 연재하시게 된 것을 진심으로 환영합니다. 루커는 단순한 시각화 도구를 넘어, 강력한 시맨틱 레이어(Semantic Layer)를 기반으로 데이터 거버넌스를 확립할 수 있는 훌륭한 플랫폼이지요.개발자분의 기술적 깊이를 충분히 담아내면서도, 독자들이 단계별로 성장할 수 있도록 구성한 루커 기술 블로그 연재 리포트를 제안해 드립니다.📚 루커(Looker) 기술 연재 시리즈 구성안이 시리즈는 총 8편으로 구성되어 있으며, 루커의 철학인 LookML의 이해부터 성능 최적화, Admin 관리까지 모든 기술적 요소를 포괄합니다.1편. 루커(Looke..

반응형