연속 통합 SQL 검사기

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

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

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

SQL 검사기에서 모든 Explore의 모든 측정기준을 테스트하지 않도록 하려면 원하는 경우 다음 중 하나 이상을 실행할 수 있습니다.

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

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

SQL 검사기 결과를 보여주는 연속 통합 결과 페이지

리소스 소비

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

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

SQL 유효성 검사에서 측정기준 제외

매개변수에 종속된 측정기준과 같이 특정 측정기준은 SQL 유효성 검사에서 제외하는 것이 좋습니다. 매개변수의 값은 유효성 검사 중에 null이 되고 항상 SQL 오류가 발생하기 때문입니다.

sql 매개변수가 없는 측정기준(예: type: distance, type: location, type: duration의 측정기준)은 제외하는 것이 좋습니다.

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 검사기 옵션

CI 모음을 만들거나 수정할 때 여러 옵션을 지정하여 SQL 검사기 실행 방식을 구성할 수 있습니다. 옵션은 이 페이지의 다음 섹션에 설명되어 있습니다.

탐색할 쿼리

기본적으로 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로 정의된 사용자 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당 쿼리 1개를 실행합니다. 이 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 검사기는 전체 검증을 실행합니다.
  • 프로젝트의 개발 브랜치에만 해당하는 증분 오류를 노출하려면 개별 측정기준 쿼리가 필요하므로 증분 검증 실행에는 빠른 실패 모드가 지원되지 않습니다.