Snowpark Migration Accelerator: 코드 준비 시 참고 사항¶
Snowpark Migration Accelerator(SMA)를 실행하기 전에 모든 소스 코드 파일이 SMA 를 설치한 컴퓨터에 위치하는지 확인하십시오. SMA 에서는 코드 분석만 수행하므로 소스 데이터베이스나 Spark 환경에 연결할 필요가 없습니다.
이 도구는 공급자가 제공하는 소스 코드에 전적으로 의존하므로 SMA 에서 올바르게 처리하려면 소스 코드가 읽을 수 있는 형식이어야 합니다.
추출¶
Snowpark Migration Accelerator(SMA)를 실행하기 전에 모든 소스 코드 파일을 1개의 메인 폴더에 정리하십시오. 이 메인 폴더 내에서 기존 하위 폴더 구조를 유지할 수 있지만 모든 코드 파일은 이 1개의 디렉터리 아래에 위치해야 합니다. 이 요구 사항은 다음에 적용됩니다.
지원되는 파일 유형은 다음과 같습니다.
GitHub 리포지토리(ZIP 파일로 다운로드하여 로컬 컴퓨터에 압축 해제)
Python 스크립트 파일
Scala 프로젝트 파일
Databricks 노트북 파일
로컬 컴퓨터에서 실행되는 Jupyter 노트북
마이그레이션을 시작하기 전에 모든 소스 코드 파일을 1개의 메인 폴더에 모으십시오. 소스 코드가 서로 다른 위치에 있을 수 있지만 한 곳에 조직화하면 마이그레이션 프로세스를 더 효율적으로 진행할 수 있습니다. 이미 파일 조직 구조가 설정되어 있는 경우에는 기본 폴더 내에 그대로 유지하십시오.
Snowpark Migration Accelerator(SMA)를 사용하여 정확하고 완전한 보고서를 생성하려면 마이그레이션 프로젝트와 관련된 코드만 스캔하십시오. 사용 가능한 모든 코드를 스캔하는 대신 마이그레이션할 계획이 있는 필수 코드 파일만 식별하여 포함하십시오. 자세한 내용은 고려 사항 섹션의 크기를 참조하십시오.
고려 사항¶
어떤 파일 유형이 Snowpark Migration Accelerator(SMA)와 호환되는지 검토하고, SMA 를 사용한 분석을 위해 소스 코드를 준비할 때 고려해야 할 주요 사항에 대해 알아보겠습니다.
파일 유형¶
Snowpark Migration Accelerator(SMA)는 소스 디렉터리에 있는 모든 파일을 검사하지만, Spark API 코드를 포함할 수 있는 특정 확장자를 가진 파일만 처리합니다. 여기에는 일반 코드 파일과 Jupyter 노트북이 모두 포함됩니다.
SMA 에서 지원하는 파일 유형 목록은 이 설명서의 Supported Filetypes section of this documentation에서 확인할 수 있습니다.
내보낸 파일¶
코드가 로컬 파일이 아닌 소스 제어 플랫폼에 저장되어 있는 경우 SMA 에서 처리할 수 있는 형식으로 내보내야 합니다. 코드를 내보내는 방법은 다음과 같습니다.
Databricks 사용자의 경우: Snowpark Migration Accelerator(SMA)를 사용하려면 노트북을 .dbc 형식으로 내보내야 합니다. 노트북 내보내기 방법에 대한 자세한 지침은 노트북 내보내기에 대한 Databricks 설명서 에서 확인할 수 있습니다.
파일 내보내기에 도움이 필요하신가요? Snowflake Professional Services에서 Databricks, Hive 및 기타 플랫폼용 스크립트를 유지 관리하는 Snowflake Labs Github 리포지토리의 내보내기 스크립트 를 참조하십시오.
다른 플랫폼을 사용하는 경우에는 코드 추출 페이지에서 해당 플랫폼에 대한 구체적인 지침을 참조하십시오. 코드를 SMA 에서 작동하는 형식으로 변환하는 데 도움이 필요한 경우 sma-support@Snowflake.com으로 문의하십시오.
크기¶
Snowpark Migration Accelerator(SMA)는 데이터가 아닌 소스 코드를 분석하도록 설계되었습니다. 최적의 성능을 보장하고 시스템 리소스 소모를 방지하려면 다음과 같이 권장합니다.
마이그레이션하려는 특정 코드 파일만 포함하십시오
불필요한 라이브러리 종속성 포함하지 않기
종속성 라이브러리 코드 파일을 포함할 수는 있지만, SMA 는 마이그레이션이 필요한 Spark 코드를 파악하는 데 중점을 두기 때문에 그렇게 하면 값은 추가되지 않고 처리 시간이 대폭 증가합니다.
다음과 같은 모든 코드 파일을 수집하는 것이 좋습니다.
예약된 프로세스의 일부로 자동 실행
해당 프로세스를 생성하거나 구성하는 데 사용되었습니다(분리된 경우)
조직에서 생성한 사용자 지정 라이브러리가 위의 시나리오 중 하나에서 사용됩니까?
Pandas 또는 Sci-Kit Learn과 같은 일반적인 서드 파티 라이브러리용 코드를 포함할 필요가 없습니다. 이 도구는 소스 코드를 요구하지 않고도 이러한 라이브러리 참조를 자동으로 감지하고 카탈로그화합니다.
실행되나요?¶
Snowpark Migration Accelerator(SMA)는 완전하고 구문적으로 올바른 소스 코드만 처리할 수 있습니다. 지원되는 소스 플랫폼에서 코드가 성공적으로 실행될 수 있어야 합니다. SMA 에서 여러 개의 구문 분석 오류를 보고하는 경우 일반적으로 소스 코드에 구문 오류가 있음을 나타냅니다. 최상의 결과를 얻으려면 입력 디렉터리에 소스 플랫폼에서 실행할 수 있는 유효한 코드만 포함되어 있는지 확인하십시오.
사용 사례¶
스캔 결과를 검토할 때는 코드베이스의 목적을 이해하는 것이 필수적입니다. 도움이 될 것입니다.
어떤 애플리케이션 또는 프로세스가 Snowpark와 잘 작동하지 않을 수 있는지 확인합니다
준비도 평가 결과를 보다 효과적으로 이해하고 분석하십시오
기존 코드 및 시스템이 Snowflake와 호환되는지 확인하십시오
지원되지 않는 SQL 언어와 Spark가 없는 데이터베이스 커넥터를 사용하는 노트북을 스캔할 때 SMA 에는 가져온 서드 파티 라이브러리만 표시됩니다. 이 정보는 도움이 되지만 노트북에 Spark API 준비도 점수가 부여되지는 않습니다. 코드를 어떻게 사용할 계획인지 이해하면 이러한 제한 사항을 더 잘 이해하고 마이그레이션 중에 더 나은 결정을 내리는 데 도움이 됩니다.
Databricks Notebooks에서 내보내기¶
Databricks 노트북은 단일 노트북에서 SQL, Scala, PySpark 등 여러 프로그래밍 언어를 지원합니다. 노트북을 내보낼 때 파일 확장자에 기본 언어가 반영됩니다.
Python 노트북: .ipynb 또는 .py
SQL 노트북: .sql
노트북의 기본 언어와 다른 언어로 작성된 코드는 내보내는 동안 자동으로 설명으로 변환됩니다. 예를 들어, Python 노트북에 SQL 코드를 포함하면 SQL 코드가 내보낸 파일에 설명으로 표시됩니다.
코드 설명은 SMA 분석에서 제외됩니다. 코드가 올바르게 분석되도록 하려면 소스 언어와 일치하는 올바른 파일 확장자를 가진 파일에 코드를 넣으십시오. 예:
Python 코드는 .py 파일로 작성해야 합니다
SQL 코드는 .sql 파일에 있어야 합니다
주석이 없는 코드라도 확장자가 잘못된 파일에 있는 경우(예: .sql 파일에 있는 Python 코드) 분석되지 않습니다.
도구를 사용하기 전에 설명서의 사전 처리 고려 사항 섹션을 읽어보시기 바랍니다. 이 섹션에는 계속 진행하기 전에 알아야 할 필수 정보가 포함되어 있습니다.
코드베이스 연습¶
추출한 샘플 코드베이스 디렉터리 중 하나를 Snowpark Migration Accelerator(SMA)의 입력으로 선택합니다.
코드를 마이그레이션할 때는 원래 폴더 구조를 유지하십시오. 이렇게 하면 파일 조직을 보존하고 개발자가 코드 아키텍처를 이해하는 데 도움이 됩니다. 코드 변환 프로세스와 평가 분석은 모두 한 번에 한 파일씩 수행됩니다.
이 자습서에서는 작은 함수의 Spark 코드 샘플(각각 1MB 미만)로 작업합니다. 이 샘플은 변환할 수 있는 다양한 시나리오와 함수를 보여줍니다. 이 예제는 프로덕션 코드가 아닌 단순화된 버전이지만 다양한 변환 가능성을 효과적으로 보여줍니다.
소스 디렉터리에는 Jupyter 노트북(.ipynb), Python 스크립트(.py) 및 텍스트 파일이 포함될 수 있습니다. SMA 는 코드베이스의 모든 파일을 검사하지만, Python(.py) 파일과 Jupyter 노트북(.ipynb) 파일에서 Spark API 참조만 검색합니다.