Snowpark Migration Accelerator: 코드 준비 시 참고 사항¶
Snowpark Migration Accelerator(SMA)를 실행하기 전에 모든 소스 코드 파일이 SMA 를 설치한 컴퓨터에 위치하는지 확인하십시오. SMA 에서는 코드 분석만 수행하므로 소스 데이터베이스나 Spark 환경에 연결할 필요가 없습니다.
이 도구는 공급자가 제공하는 소스 코드에 전적으로 의존하므로 SMA 에서 올바르게 처리하려면 소스 코드가 읽을 수 있는 형식이어야 합니다.
추출¶
Snowpark Migration Accelerator(SMA)를 실행하기 전에 모든 소스 코드 파일을 1개의 메인 폴더에 정리하십시오. 이 메인 폴더 내에서 기존 하위 폴더 구조를 유지할 수 있지만 모든 코드 파일은 이 1개의 디렉터리 아래에 위치해야 합니다. 이 요구 사항은 다음에 적용됩니다.
지원되는 파일 유형은 다음과 같습니다.
GitHub 리포지토리(ZIP 파일로 다운로드하여 로컬 컴퓨터에 압축 해제)
Python 스크립트 파일
Scala 프로젝트 파일
Databricks 노트북 파일
로컬 컴퓨터에서 실행되는 Jupyter 노트북
마이그레이션을 시작하기 전에 모든 소스 코드 파일을 1개의 메인 폴더에 모으십시오. 소스 코드가 서로 다른 위치에 있을 수 있지만 한 곳에 조직화하면 마이그레이션 프로세스를 더 효율적으로 진행할 수 있습니다. 이미 파일 조직 구조가 설정되어 있는 경우에는 기본 폴더 내에 그대로 유지하십시오.
Export GitHub repositories to ZIP files
To generate accurate and complete reports using the Snowpark Migration Accelerator (SMA), scan only the code that is relevant to your migration project. Rather than scanning all available code, identify and include only the essential code files that you plan to migrate. For more information, refer to Size in the Considerations section.
고려 사항¶
어떤 파일 유형이 Snowpark Migration Accelerator(SMA)와 호환되는지 검토하고, SMA 를 사용한 분석을 위해 소스 코드를 준비할 때 고려해야 할 주요 사항에 대해 알아보겠습니다.
파일 유형¶
Snowpark Migration Accelerator(SMA)는 소스 디렉터리에 있는 모든 파일을 검사하지만, Spark API 코드를 포함할 수 있는 특정 확장자를 가진 파일만 처리합니다. 여기에는 일반 코드 파일과 Jupyter 노트북이 모두 포함됩니다.
You can find a list of file types that SMA supports in the Supported Filetypes section of this documentation.
내보낸 파일¶
코드가 로컬 파일이 아닌 소스 제어 플랫폼에 저장되어 있는 경우 SMA 에서 처리할 수 있는 형식으로 내보내야 합니다. 코드를 내보내는 방법은 다음과 같습니다.
For Databricks users: To use the Snowpark Migration Accelerator (SMA), you need to export your notebooks to .dbc format. You can find detailed instructions on how to export notebooks in the Databricks documentation on exporting notebooks.
Need help exporting files? Visit the export scripts in the Snowflake Labs Github repo, where Snowflake Professional Services maintains scripts for Databricks, Hive, and other platforms.
If you are using a different platform, please refer to the Code Extraction page for specific instructions for your platform. If you need assistance converting your code into a format that works with SMA, please contact sma-support@snowflake.com.
크기¶
Snowpark Migration Accelerator(SMA)는 데이터가 아닌 소스 코드를 분석하도록 설계되었습니다. 최적의 성능을 보장하고 시스템 리소스 소모를 방지하려면 다음과 같이 권장합니다.
마이그레이션하려는 특정 코드 파일만 포함하십시오
불필요한 라이브러리 종속성 포함하지 않기
종속성 라이브러리 코드 파일을 포함할 수는 있지만, SMA 는 마이그레이션이 필요한 Spark 코드를 파악하는 데 중점을 두기 때문에 그렇게 하면 값은 추가되지 않고 처리 시간이 대폭 증가합니다.
다음과 같은 모든 코드 파일을 수집하는 것이 좋습니다.
예약된 프로세스의 일부로 자동 실행
해당 프로세스를 생성하거나 구성하는 데 사용되었습니다(분리된 경우)
조직에서 생성한 사용자 지정 라이브러리가 위의 시나리오 중 하나에서 사용됩니까?
Pandas 또는 Sci-Kit Learn과 같은 일반적인 서드 파티 라이브러리용 코드를 포함할 필요가 없습니다. 이 도구는 소스 코드를 요구하지 않고도 이러한 라이브러리 참조를 자동으로 감지하고 카탈로그화합니다.
실행되나요?¶
The Snowpark Migration Accelerator (SMA) can only process complete and syntactically correct source code. Your code must be able to run successfully in a supported source platform. If the SMA reports multiple parsing errors, this usually indicates that your source code contains syntax errors. To achieve the best results, ensure that your input directory contains only valid code that can be executed on the source platform.
사용 사례¶
스캔 결과를 검토할 때는 코드베이스의 목적을 이해하는 것이 필수적입니다. 도움이 될 것입니다.
어떤 애플리케이션 또는 프로세스가 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 코드) 분석되지 않습니다.
Before using the tool, please read the Pre-Processing Considerations section in our documentation. This section contains essential information that you need to know before proceeding.
코드베이스 연습¶
추출한 샘플 코드베이스 디렉터리 중 하나를 Snowpark Migration Accelerator(SMA)의 입력으로 선택합니다.
코드를 마이그레이션할 때는 원래 폴더 구조를 유지하십시오. 이렇게 하면 파일 조직을 보존하고 개발자가 코드 아키텍처를 이해하는 데 도움이 됩니다. 코드 변환 프로세스와 평가 분석은 모두 한 번에 한 파일씩 수행됩니다.
이 자습서에서는 작은 함수의 Spark 코드 샘플(각각 1MB 미만)로 작업합니다. 이 샘플은 변환할 수 있는 다양한 시나리오와 함수를 보여줍니다. 이 예제는 프로덕션 코드가 아닌 단순화된 버전이지만 다양한 변환 가능성을 효과적으로 보여줍니다.
소스 디렉터리에는 Jupyter 노트북(.ipynb), Python 스크립트(.py) 및 텍스트 파일이 포함될 수 있습니다. SMA 는 코드베이스의 모든 파일을 검사하지만, Python(.py) 파일과 Jupyter 노트북(.ipynb) 파일에서 Spark API 참조만 검색합니다.