새 LookML — YAML LookML 프로젝트 변환하는 방법

Looker 4.0에서는 ML 개발을 더 용이하게 해주는 익숙하지만 더 쉬운 문법과 풍부하고 유용한 IDE로 기존 YAML 스타일의 LookML을 더욱 개선한 새로운 LookML 문법을 도입했습니다. Looker 4.4 이후에는 모든 새 LookML 프로젝트를 새 LookML에서 생성해야 합니다. 그러나 변환 전에 생성된 일부 프로젝트는 여전히 YAML (구) LookML에서 모델링될 수 있습니다.

Looker는 YAML LookML 프로젝트를 새 LookML로 변환하는 자동화된 방법을 제공합니다. 이 페이지에서는 이 프로세스를 수행하는 방법을 설명합니다. 각 LookML 프로젝트는 개별적인 변환이 필요하므로 개발자는 작업을 준비하고 조정해야 합니다. 따라서 프로젝트를 변환하기 전에 이 페이지를 끝까지 읽고 참고하시기 바랍니다.

변환 준비

YAML LookML 프로젝트를 새 LookML로 변환하는 작업은 한 명의 LookML 개발자만 수행해야 합니다. 변환은 해당 개발자의 개발 모드 내에서 이루어지며, 일반적인 LookML 변경처럼 커밋되어 배포됩니다.

즉, 프로세스에 모든 LookML 개발자의 협조가 필요합니다. 변환은 기본적으로 LookML의 모든 줄을 변경하므로 변환 프로세스가 시작되기 전에 다른 LookML 개발자가 모든 변경사항을 커밋하고 프로젝트에 배포했는지 확인하는 것이 중요합니다. 그렇지 않으면 매우 까다로운 Git 병합 충돌이 발생할 수 있습니다.

변환 프로세스가 자동화되어 있지만 새로운 LookML이 YAML LookML보다 훨씬 철저하게 오류 검사에 해당합니다. 즉, 변환 후에는 이전에 표시되지 않았던 오류가 표시될 수 있습니다. 이 오류를 해결하면 프로젝트 품질이 향상됩니다. 오류 수는 프로젝트마다 다르기 때문에 수정하는 데 몇 분에서 몇 시간까지 걸릴 수 있습니다. 어떤 경우든 오류가 해결될 때까지 모든 LookML 개발자가 프로젝트 개발을 일시중지해야 합니다.

Looker 인스턴스에서 YAML 프로젝트 찾기

Looker 인스턴스에서 YAML 프로젝트를 보려면 다음 안내를 따르세요.

  1. 개발 메뉴에서 LookML 프로젝트 관리 또는 프로젝트 옵션을 선택합니다(이 옵션은 개발 메뉴에 액세스하는 위치에 따라 다름).
  2. LookML 프로젝트 페이지에서 프로젝트의 테이블 행에서 YAML LookML 라벨을 찾습니다.

    팁: 프로젝트의 프로젝트 이름을 선택하여 프로젝트의 LookML로 이동할 수 있습니다.

변환하기 전에 개발자와 협력

새 LookML로 변환할 준비를 하려면 다음 안내를 따르세요.

  1. 변환 프로세스를 실행할 하나의 LookML 개발자를 선택합니다.
  2. LookML 검사기를 실행하여 프로젝트에 오류가 없는지 확인합니다. 모든 오류를 수정한 다음 변경사항을 커밋하고 배포하여 다음 단계로 진행합니다.
  3. 변환을 수행할 시간을 지정합니다.
  4. 작업 중인 변경사항이 지정된 시간까지 커밋 및 배포되어야 한다고 다른 모든 LookML 개발자에게 알립니다. 즉, 프로젝트의 모든 개발 모드 사본이 프로덕션에서 최신 버전 Git 상태여야 합니다.
  5. 변환이 완료될 때까지 무언가를 수정하거나 수정 사항을 커밋, 배포하지 않도록 다른 모든 ML 개발자에게 안내합니다.

새 LookML로 변환

새 LookML로 변환하려면 변환기를 실행합니다.

  1. 개발 모드를 시작합니다.
  2. 변환할 프로젝트를 엽니다.
  3. 왼쪽 상단에 있는 Git 상태가 프로덕션에 최신 버저ㄴ으로 표시되는지 확인합니다.
  4. LookML 검사기를 실행하여 프로젝트에 오류가 없는지 확인합니다. 결과는 LookML 문제 없음이어야 합니다. LookML 검사기를 실행하려면 Looker IDE 오른쪽 상단의 LookML 검사 버튼 선택을 선택하거나 IDE 상단에서 프로젝트 상태 아이콘을 선택하여 프로젝트 상태 패널을 연 다음 LookML 검사를 선택합니다.
  5. 프로젝트를 YAML LookML에서 새 LookML로 변환하려면 다음 안내를 따르세요.

    1. Looker IDE의 탐색 사이드바에서 Git 작업 아이콘을 선택합니다.
      • 또는 IDE 상단에서 프로젝트 상태 아이콘을 선택합니다.

    2. Git 작업 패널 또는 프로젝트 상태 패널 아래에서 프로젝트를 새 LookML로 변환 옵션을 선택합니다.
    3. 확인 대화상자에서 New LookML로 변환 버튼을 선택합니다.

새 LookML 검사

변환기 실행이 완료되면 IDE가 각 파일 이름 옆에 점을 포함하여 파일이 변경되었음을 표시합니다.

새 LookML을 검증하려면 다음 안내를 따르세요.

  1. LookML 검사 버튼을 선택하여 LookML 검사기를 실행합니다. 오류가 없으면 이 페이지의 새 LookML 커밋 및 배포 섹션으로 건너뛸 수 있습니다.
  2. 이전에 액세스 권한이 없었던 위치에 오류가 표시될 수 있습니다. 앞에서 설명한 것처럼 새로운 LookML은 YAML LookML보다 오류 검사에 대해 더 철저합니다. 오류를 확인하고 수정합니다. 해결 문제가 발생하면 이 페이지 끝의 오류 해결 섹션을 참조하세요.

새 LookML 커밋 및 배포

이 시점에서 일반적인 LookML을 변경할 때와 마찬가지로 커밋하고 배포합니다. 참고로, 이 커밋을 진행하면 영구 파생 테이블(PDT)이 다시 빌드된다는 점에 유의하세요. 커밋이 배포되면 다른 모든 LookML 개발자에게 변환이 완료되었고 PDT에 의존하는 쿼리가 적어도 모든 것이 다시 빌드될 때까지 실행하는 데 평소보다 시간이 오래 걸릴 수 있다고 알립니다. 개발자는 개발 모드에서 프로덕션에서 가져와서 변경사항을 적용한 다음 개발을 계속할 수 있습니다. 이제 개선되고 더 직관적인 LookML 문법과 훨씬 더 유용하고 강력한 IDE를 사용할 수 있습니다.

오류 해결

새로운 LookML의 보다 철저한 모델 검증으로 인해 변환 후 표시되지 않은 오류가 표시될 수 있습니다. 또한 새로운 LookML의 임시 오류 검사에는 더 많은 정보가 필요한 경우도 있습니다. 변환기는 이를 알아내려고 하지만 일부 경우에는 뷰 파일에 include 줄을 하나 더 추가해야 할 수도 있습니다.

잘못된 필드 참조

상황에 따라 YAML (구) LookML은 참조하는 필드 또는 세트가 실제로 모델의 어딘가에 정의되었는지 확인하지는 않습니다. 이런 문제가 가장 많이 드러나는 곳은 드릴 필드 목록 및 설정입니다.

예를 들어 구 LookML에 drill_fields: [id, name, email]이 포함되어 있었지만 모델 개발의 어느 시점에 first_namelast_name 필드를 사용하기 위해 name 필드를 삭제했다면 YAML LookML은 이 드릴 목록에서 존재하지 않는 필드(name)를 참조하고 있다고 경고하지 않습니다. 측정기준 그룹에서 필드를 참조하고 YAML LookML에서 새 LookML과는 달리 필드를 지정하지 않은 경우에도 이 문제가 발생할 수 있습니다.

반면 새로운 LookML에는 이러한 유형의 오류가 표시됩니다. 따라서 프로젝트를 변환하고 LookML 검사기를 실행한 후에 이전에 본 적이 없는 잘못된 필드 참조에 대한 오류가 표시될 수 있습니다. 이 오류를 수정하면 모델의 전반적인 품질이 향상됩니다.

뷰 파일에 include 항목 누락

상황에 따라서는 새 LookML의 임시 오류 검사에 YAML LookML에 필요한 것보다 약간 더 많은 컨텍스트가 필요한 경우가 있습니다. 특히 한 뷰가 다른 뷰를 확장할 때 일부 뷰 파일에 include 줄을 배치해야 할 수 있습니다.

뷰에 어떤 파일을 포함해야 할지 모호하지 않으면 변환기가 새 LookML 뷰 파일에 적절한 include 선언을 자동으로 추가하므로 오류가 표시되지 않습니다.

하지만 경우에 따라 (예: 여러 모델이 포함된 프로젝트) 별도의 뷰 파일에서 동일한 이름을 가진 뷰가 두 개 이상 선언될 수 있습니다. 변환기는 어떤 뷰를 포함할지 판단할 수 없으므로 새 LookML 파일 상단에 이러한 뷰 중 하나만 포함되어야 함을 나타내는 주석을 추가합니다. 뷰 파일로 이동하여 올바른 추천의 주석 처리를 삭제하여 결과 오류를 해결하세요.

잘못된 extension_required 탐색

앞서 설명한 잘못된 필드 참조 문제와 마찬가지로 새로운 LookML에서 LookML 검사기는 extension: required로 선언되었지만 실제로는 확장되지 않은 탐색에 대해 알림을 제공합니다. 이 오류를 해결하려면 이러한 탐색을 확장 객체에 다시 연결하거나, 사용하지 않는 경우 삭제합니다.

버전 제어

LookML 변환 프로세스는 .lookml 뷰 및 모델 파일을 .lkml 버전을 대체하므로 변환 중에 한 명 이상의 개발자가 프로젝트에 커밋하면 병합 충돌이 발생합니다. 따라서 한 명의 개발자만 변환기를 실행해야 하며, 변환 프로세스를 시작하기 전에 모든 개발자가 개발 모드 사본을 정리하고 최신 상태로 유지할 수 있도록 조정해야 합니다.

버전 제어 문제를 방지하려면 변환 중에 코드 고정이 있어야 합니다. 다른 개발자는 변환을 위해 차단된 기간 동안 변경사항을 체크인해서는 안 됩니다.

변환을 실행하는 개발자가 변환 과정 중에 문제를 겪고 나서 변경사항을 커밋하고 프로덕션에 푸시하기 전에 프로덕션으로 되돌리는 것이 유용할 수 있습니다. 이 페이지의 변환기 실행 섹션에 표시된 드롭다운의 이 옵션을 이용하면 개발자가 변환을 실행취소하여 프로세스를 다시 시작할 수 있습니다.