에이전트 코드 변환기를 사용하여 SQL 변환

중요합니다

이 기능은 베타 버전으로 제공됩니다. 이를 사용하려면 작업 영역 관리자가 미리 보기 페이지에서 에이전트 코드 변환기를 켜야 합니다. Azure Databricks 미리 보기 관리를 참조하세요.

에이전트 코드 변환기는 Genie Code를 사용해 T-SQL, Snowflake, Redshift, Oracle, BigQuery, Teradata 같은 방언의 기존 SQL을 Azure Databricks에서 실행되는 코드로 변환합니다. 마이그레이션 프로젝트에서 작업을 정리하고 출력용 대상 프레임워크를 선택합니다. 즉, Databricks SQL 쿼리를 생성하는 SQL 또는 DataFrame API를 사용하는 Databricks 노트북을 생성하는 Notebooks를 선택합니다. 변환기는 각 소스 스크립트를 분석하고, 변환된 출력을 검증하며, 오류를 반복적으로 수정한 후 결과를 작업 공간 폴더에 기록합니다.

에이전트 코드 변환기는 기존 데이터 웨어하우스 및 ETL 도구에서 Azure Databricks 워크로드를 마이그레이션하기 위한 Databricks 도구의 일부입니다. 마이그레이션 프로젝트에서 작업을 구성하고 추적하는 동안 원본 SQL을 변환합니다.

작동 방식

작업 영역에서 마이그레이션 프로젝트를 만들어 변환을 시작합니다. 이 프로젝트는 각 파일의 상태를 추적하고 마이그레이션을 관리할 수 있는 단일 위치를 제공합니다.

변환 워크플로의 다이어그램: 원본 파일이 마이그레이션 프로젝트에 추가되고, Genie Code 스바젠트가 변환하고, 유효성이 검사된 ANSI SQL이 작업 영역 폴더에 기록됩니다.

변환을 실행할 때 Genie Code는 마이그레이션 기술을 호출하고 파일을 동시에 변환하는 하위 에이전트를 배포합니다. 각 하위 에이전트는 소스 방언을 분석하고, 프로젝트의 목표 프레임워크(Databricks SQL 또는 Databricks 노트북)에 해당하는 코드를 생성하며, 결과를 검증한 후 실패한 섹션을 재시도합니다. 변환된 파일은 프로젝트에 대해 지정한 작업 영역 폴더에 직접 기록됩니다.

Genie Code 대화에서 명령을 사용하여 /migrate 프로젝트 없이 단일 파일 또는 폴더를 변환할 수도 있습니다.

Requirements

  • 에이전트 코드 변환기 베타에 대해 사용하도록 설정된 작업 영역입니다. 작업 영역 관리자는 미리 보기 페이지에서 기능을 사용하도록 설정합니다. Azure Databricks 미리 보기 관리를 참조하세요.
  • 작업 영역에서 기존 SQL 파일에 액세스할 수 있어야 합니다. 작업 영역 파일로 업로드하거나 편집기에서 열어야 합니다.
  • 작업 영역은 Genie Code 요구 사항을 충족해야 합니다. 지니 코드를 참조하세요.

지원되는 원본 및 제한 사항

변환기는 다음 소스 언어를 지원합니다.

  • T-SQL
  • 스노우플레이크 SQL
  • Redshift SQL
  • Oracle
  • BigQuery
  • Teradata

마이그레이션 프로젝트를 생성할 때는 다음 목표 프레임워크 중 하나를 선택하세요:

  • SQL: ANSI를 준수하는 Databricks SQL 쿼리.
  • 노트북: DataFrame API를 사용하는 Databricks 노트북으로, spark.sql SQL로 더 명확한 논리를 제공합니다.

각 변환에는 다음 제한이 적용됩니다.

  • 일괄 처리에는 최대 300개의 파일이 포함될 수 있습니다.
  • 스크립트는 최대 1,000줄을 포함할 수 있습니다.
  • Teradata BTEQ 스크립트는 아직 지원되지 않습니다.

기존 SQL 코드 변환

다음 단계에서는 마이그레이션 프로젝트에서 기존 SQL을 변환하는 방법을 설명합니다.

1단계: 원본 파일 업로드

.sql를 사용하여 기존 SQL 파일()을 업로드하거나 Databricks CLI를 사용하여 스크립트 디렉터리를 대량 업로드합니다.

2단계: 마이그레이션 프로젝트 만들기

작업 영역에서 마이그레이션 프로젝트를 만듭니다.

  1. 새 아이콘 > 마이그레이션 프로젝트를 클릭합니다.
  2. 프로젝트의 이름을 입력합니다.
  3. 드롭다운 선택기를 사용하여 원본 방언대상 프레임워크를 선택합니다. Target 프레임워크에서는 Databricks SQL 쿼리를 생성하려면 SQL을, Databricks 노트북을 생성하려면 Notebooks를 선택하세요.
  4. 대상 폴더의 파일 경로를 입력 합니다. 찾아보기를 클릭하여 사용 가능한 작업 영역 폴더 목록에서 대상을 선택합니다.
  5. (선택 사항) 프로젝트의 계보를 설명하는 계보 파일 의 경로를 입력합니다. 찾아보기를 클릭하여 작업 영역의 파일 목록에서 파일을 선택합니다.
  6. 만들기를 클릭합니다.

프로젝트 이름, 원본 언어, 대상 프레임워크 및 대상 폴더 필드를 보여 주는 새 마이그레이션 프로젝트 대화 상자입니다.

3단계: 프로젝트에 파일 추가

새 프로젝트에서 다음을 수행합니다.

  1. 파일 추가> 추가를 클릭합니다.
  2. 작업 영역에서 원본 폴더 또는 파일을 선택합니다.

프로젝트는 파일 형식, 줄 수 및 변환 상태를 가진 각 파일을 나열합니다.

파일 형식, 줄 수 및 변환 상태를 사용하여 추가된 원본 파일을 보여 주는 마이그레이션 프로젝트 캔버스입니다.

4단계: 코드 복잡성 및 계보 검토(선택 사항)

Lakebridge Analyzer를 실행한 경우 JSON 출력을 프로젝트에 업로드하여 코드 복잡성 및 계보를 검토합니다. 원본 파일을 클릭하여 복잡성 평가를 열고 계보 를 클릭하여 함께 마이그레이션해야 하는 상호 종속성 파일 및 테이블을 보여 주는 종속성 그래프를 엽니다. 분석기 실행에 대한 지침은 Lakebridge 분석기 가이드를 참조하세요.

5단계: 변환 실행

변환할 파일을 선택하고 실행을 클릭합니다. Genie Code는 대화를 열고, 마이그레이션 기술을 호출하고, 파일을 동시에 변환하는 스바겐트를 배포합니다. 변환된 각 파일은 프로젝트에 연결된 파일로 표시됩니다. 변환기는 각 파일을 상태로 표시합니다.

  • 녹색: 성공적으로 변환됨
  • 노란색: 검토 필요
  • 빨간색: 변환 실패
  • 회색: 진행 중

6단계: 변환 결과 검토

SQL 프로젝트의 경우, 변환된 파일을 클릭하면 SQL 편집기에서 나란히 비교 파일을 열고, 제안된 Databricks SQL 옆에 소스 코드가 있습니다. 제안된 모든 변경 내용을 적용하거나 개별 편집 내용을 검토하고 수락합니다. 노트북 프로젝트의 경우, 변환된 파일을 클릭하면 생성된 Databricks 노트북을 엽니다. 변환에 실패한 스크립트의 경우 편집기에서 코드를 편집하거나 Genie Code에 특정 섹션의 유효성을 다시 검사하거나 다시 시도하도록 요청합니다. 만족하면 변환된 SQL이나 노트북을 실행해 Azure Databricks에서 실행되는지 확인하세요.

사용자 지정 기술 만들기(선택 사항)

사용자 지정 기술을 사용하면 Genie Code가 변환할 때마다 자동으로 적용되는 비즈니스 규칙을 인코딩할 수 있습니다. 이를 사용하여 독점 데이터 형식을 처리하거나, 기본 설정 대상 패턴을 적용하거나, 반복적으로 수정한 사항을 캡처할 수 있습니다. 마이그레이션 기술은 Genie Code 기술이므로 다른 기술과 동일한 방식으로 만들고 관리할 수 있습니다. 자세한 내용은 에이전트 기술을 사용하여 Genie Code 확장을 참조하세요.

Genie Code 설정 또는 지니 코드 대화에서 기술을 만들 수 있습니다. 자세한 지침, 예제 또는 지원 파일을 포함하는 복잡한 기술에 대한 설정 경로를 사용합니다. 빠른 단일 규칙 기술을 위해 채팅 경로를 사용합니다.

지니 코드 설정

자세한 지침을 작성하고 Git 폴더에서 버전을 지정할 수 있도록 기술 파일을 만듭니다.

  1. 지니 코드 패널에서 기어 아이콘을 클릭합니다.설정을 클릭한 다음 아이콘에서 화살표를 클릭합니다.기술 폴더를 엽니다.

  2. 작업 영역 기술 경로 Workspace/.assistant/skills/에서 기술에 대한 폴더를 만듭니다. Workspace/.assistant/skills/sql-migration/을 예로 들 수 있습니다.

  3. 기술 폴더에서 필요한 프런트매터 및 변환 규칙을 사용하여 SKILL.md 파일을 만듭니다. 다음은 그 예입니다.

    ---
    name: sql-migration
    description: Conversion rules to apply when migrating legacy SQL to ANSI SQL.
    ---
    
    Always convert the custom type MYDATE to TIMESTAMP_NTZ.
    

Genie Code는 다음에 변환을 실행하면 해당 스킬을 인식합니다.

지니 코드 채팅

인코딩하려는 변환 규칙을 설명한 다음, Genie Code에 저장하도록 요청합니다.

Tip

Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.

Genie Code는 기술을 만들고 등록하며 작업 영역의 향후 변환에 적용합니다.

활성 스킬을 보려면:

Tip

Show me my migration skills

기술을 제거하려면 다음을 수행합니다.

Tip

Delete the migration skill for [description]

작업 영역 기술은 작업 영역 수준에서 저장되고 작업 영역의 모든 사용자 간에 공유됩니다.

테스트 팁

에이전트 루프의 일부로 변환기는 각 원본 스크립트를 분석하고, 변환된 출력이 구문적으로 유효하고 의미상 원본과 동일한지 확인하고, 결과를 작성하기 전에 실패한 섹션을 반복적으로 수정합니다. 다음 팁은 출력을 검토하고 신뢰도를 얻는 데 도움이 됩니다.

  • 일괄 처리 변환: 한 세션에서 2~5개 파일의 작은 배치를 변환하여 다중 파일 변환이 종단 간 작동하는지 확인합니다.
  • 구문 유효성 검사: 변환 후 Databricks SQL 편집기 또는 Notebook에서 출력을 실행하여 오류 없이 실행되는지 확인합니다.
  • 에지 사례: T-SQL 창 함수, Snowflake QUALIFY또는 Redshift LISTAGG와 같은 언어별 구문이 있는 스크립트를 포함하여 변환기가 사소한 패턴을 처리하는 방법을 확인합니다.
  • 의미 체계 정확성: 동일한 테스트 데이터에 대해 원래 및 변환된 쿼리를 실행하고 결과를 비교합니다. 구문상 유효할 뿐만 아니라 출력이 의미상 올바른지 확인합니다.

추가 리소스