연속 통합 SQL 검사기

지속적 통합 (CI) SQL 검사기는 Explore의 측정기준이 데이터베이스에 대해 올바르게 실행되는지 확인합니다. 이를 위해 SQL 검사기는 LookML 프로젝트의 Explore에서 일련의 쿼리를 실행합니다.

기본적으로 SQL 검사기는 다음 작업을 실행합니다.

  1. 프로젝트의 각 Explore에 대해 SQL 검사기는 Explore의 모든 측정기준을 포함하는 Explore 쿼리를 실행합니다.
  2. Looker가 Explore 쿼리에 대한 오류를 반환하면 SQL 검사기가 Explore의 각 측정기준에 대해 별도의 Explore 쿼리를 실행합니다.

SQL 검사기가 모든 Explore의 모든 측정기준을 테스트하지 않도록 하려면 다음 중 하나 이상을 선택적으로 수행하면 됩니다.

CI 스위트를 만들거나 수정할 때 구성할 수 있는 옵션에 대한 자세한 내용은 이 페이지의 SQL 유효성 검사기 옵션 섹션을 참고하세요. SQL 검사기 실행에 대한 자세한 내용은 지속적 통합 스위트 실행 문서 페이지를 참고하세요.

실행 결과 페이지에서 SQL 검사기는 각 SQL 오류를 측정기준 및 Explore별로 분류하여 문제 LookML로 연결되는 링크와 디버깅을 위한 여기에서 Explore 링크를 표시합니다.

SQL 검사기 발견 항목을 보여주는 지속적 통합 결과 페이지

리소스 소비

SQL 검사기는 Looker 및 데이터 웨어하우스 내에서 리소스를 가장 적게 사용하도록 설계되었습니다. 모든 SQL 검사기 쿼리에는 LIMIT 0WHERE 1=2 절이 포함됩니다. 이러한 절은 데이터 웨어하우스의 쿼리 플래너에 데이터를 처리하지 말고 SQL의 유효성을 확인하도록 효과적으로 지시합니다.

예를 들어 BigQuery를 사용하면 이 유형의 쿼리는 BigQuery에서 드라이 런 쿼리를 실행하는 것과 비슷합니다. BigQuery의 경우 LIMIT 0 쿼리는 데이터를 스캔하지 않으므로 SQL 검사기에서 실행하는 쿼리에 대한 요금이 청구되지 않습니다.

SQL 검증에서 측정기준 제외

매개변수 값을 검증하는 동안에는 null이 되므로 항상 SQL 오류가 발생하는 매개변수에 종속된 측정기준과 같은 특정 측정기준을 SQL 검증에서 제외할 수 있습니다.

type: distance, type: location, type: duration과 같이 sql 매개변수가 없는 측정기준을 제외할 수도 있습니다.

SQL 유효성 검사에서 측정기준을 제외하려면 다음 두 가지 방법 중 하나로 측정기준의 LookML을 수정하면 됩니다.

  • 다음 예와 같이 측정기준의 LookML 정의에 있는 tags 매개변수에 ci: ignore 문을 추가할 수 있습니다.

    dimension: addresses {
      sql: ${TABLE}.addresses ;;
      tags: ["ci: ignore"]
    }
    
  • 다음 예와 같이 측정기준의 LookML sql 필드에 -- ci: ignore 주석을 추가할 수 있습니다.

    dimension: addresses {
      sql:
        -- ci: ignore
        ${TABLE}.addresses ;;
    }
    

SQL 검사기 옵션

지속적 통합 스위트를 만들거나 수정할 때 SQL 검사기 실행 방식을 구성하는 여러 옵션을 지정할 수 있습니다. 옵션은 이 페이지의 다음 섹션에 설명되어 있습니다.

쿼리할 Explore

기본적으로 SQL 검사기는 LookML 프로젝트의 모든 모델과 Explore에 대해 SQL 검사를 실행합니다.

쿼리할 Explore 필드를 사용하여 SQL 검증에 포함할 Explore 및 모델을 지정할 수 있습니다.

다음 형식으로 Explore를 지정할 수 있습니다. model_name/explore_name

다음에 유의하세요.

  • model_name의 경우 .model.lkml 확장자가 없는 모델 파일의 이름을 사용합니다. 예를 들어 thelook.model.lkml에 정의된 모델을 지정하려면 thelook를 입력합니다.
  • explore_name의 경우 explore LookML 매개변수의 explore_name를 사용합니다. 예를 들어 LookML 프로젝트에서 explore: users로 정의된 Explore를 지정하려면 users를 입력합니다.
  • 쉼표로 구분된 목록을 만들어 여러 탐색을 지정할 수 있습니다.
  • model_name 또는 explore_name에서 * 와일드 카드를 사용할 수 있습니다.

예를 들면 다음과 같습니다.

  • 파일 thelook.model.lkml에서 explore: users로 정의된 Users Explore만 지정하려면 다음을 입력합니다.

    thelook/users
    
  • thelook.model.lkml 파일에서 usersorders라는 Explore를 지정하려면 다음을 입력합니다.

    thelook/users, thelook/orders
    
  • thelook.model.lkml의 모든 Explore를 지정하려면 다음을 입력합니다.

    thelook/*
    
  • 프로젝트의 모든 모델에서 이름이 users인 모든 Explore를 지정하려면 다음을 입력합니다.

    */users
    

제외할 Explore

기본적으로 SQL 검사기는 LookML 프로젝트의 모든 모델과 Explore에 대해 SQL 검사를 실행합니다.

제외할 Explore 필드를 사용하여 SQL 검사에서 제외할 Explore 및 모델을 지정할 수 있습니다.

다음 형식으로 Explore를 지정할 수 있습니다. model_name/explore_name

SQL 유효성 검사기의 Explore를 지정하는 방법에 관한 자세한 내용은 쿼리할 Explore 섹션을 참고하세요.

빠른 실패

기본적으로 SQL 검사기는 쿼리에 있는 모든 측정기준을 사용하여 Explore당 하나의 쿼리를 실행합니다. 해당 Explore 쿼리가 실패하면 SQL 검사기에서 Explore의 각 측정기준에 대해 개별적으로 Explore 쿼리를 실행합니다.

더 빠른 유효성 검사를 위해 빠른 실패 옵션을 사용 설정하면 SQL 유효성 검사기가 탐색의 초기 쿼리, 즉 모든 측정기준을 한 번에 포함하는 쿼리만 실행합니다. 해당 쿼리가 오류를 반환하면 SQL 검사기가 CI 실행 결과에 오류를 표시하고 다음 Explore 검증으로 넘어갑니다.

빠른 실패를 사용 설정하면 일반적으로 검증이 더 빠르게 완료됩니다. 하지만 여러 측정기준에 오류가 있을 수 있더라도 SQL 유효성 검사기 결과에는 Explore별 첫 번째 오류만 표시됩니다. 즉, 첫 번째 오류를 수정한 후 SQL 검사기를 다시 실행하면 추가 오류가 표시될 수 있습니다.

숨김 무시

SQL 검사기에서 Looker 개발자가 hidden: yes로 정의한 LookML 측정기준을 무시하도록 하려면 숨겨진 항목 무시 필드를 사용 설정합니다. SQL 검사기는 검사 중에 이러한 측정기준을 탐색 쿼리에서 제외합니다.

쿼리 동시 실행

기본적으로 SQL 검사기는 Looker 인스턴스에 과부하가 걸리지 않도록 한 번에 10개 이하의 쿼리를 실행합니다. 쿼리 동시 실행 필드를 사용하여 SQL 검사기가 동시에 실행할 수 있는 최대 쿼리 수를 다르게 지정할 수 있습니다.

쿼리 동시 실행 필드의 최대값은 데이터베이스 연결의 이 연결의 최대 동시 쿼리 수 설정으로 제한됩니다.

SQL 검사를 실행하는 동안 Looker 인스턴스가 느려지는 경우 이 값을 줄일 수 있습니다.

증분 검증

증분 검사는 특정 개발 브랜치에 고유한 오류, 즉 프로덕션에 아직 존재하지 않는 오류를 찾는 방법입니다. 증분 검사를 사용하면 개발자가 프로젝트의 기존 오류에 방해받지 않고 자신이 담당하는 오류를 찾아 수정할 수 있으며, 특히 Explore가 많은 LookML 프로젝트의 경우 검사 속도를 높일 수도 있습니다.

증분 유효성 검사의 경우 SQL 검사기는 개발 버전 (기준 참조)과 프로덕션 버전 (타겟 참조) 간에 변경된 Explore 쿼리만 실행합니다. SQL 검사기는 프로덕션 버전에 오류가 있더라도 개발 버전에만 있는 오류만 반환합니다.

검사기 결과에서 SQL 검사기는 검사 중인 브랜치 또는 커밋의 컴파일된 SQL이 변경되지 않아 건너뛴 각 Explore를 나타냅니다. 증분 유효성 검사 결과의 예는 증분 유효성 검사 결과 보기를 참고하세요.

지속적 통합 스위트를 만들거나 수정할 때 SQL 유효성 검사기 섹션에서 증분 오류만 체크박스를 선택하여 SQL 유효성 검사기의 증분 유효성 검사를 사용 설정할 수 있습니다.

증분 검증에 대해서는 다음 사항에 유의하세요.

  • 프로덕션 브랜치에서의 수동 실행과 같이 SQL 검사기가 프로덕션 브랜치 자체를 검사할 때는 증분 검사 설정이 적용되지 않습니다. 프로덕션 브랜치를 검사할 때 SQL 검사기가 전체 검사를 실행합니다.
  • 빠른 실패 모드증분 검사 실행에 지원되지 않습니다. 프로젝트의 개발 브랜치에 고유한 증분 오류를 노출하려면 개별 측정기준 쿼리가 필요하기 때문입니다.