Snowpark Migration Accelerator: 준비도 점수¶
Snowpark Migration Accelerator(SMA)는 코드를 평가하고 자세한 평가 데이터를 생성합니다. 이 정보에 더 쉽게 액세스할 수 있도록 SMA 에서는 코드를 Snowflake로 얼마나 쉽게 마이그레이션할 수 있는지 측정하는 준비도 점수를 계산합니다. 이 점수는 호환성 메트릭 역할을 하며, 점수가 높을수록 코드가 Snowflake 플랫폼과 더 잘 호환된다는 의미입니다. SMA 도구를 실행하면 이 점수를 얻을 수 있습니다.
SMA 에서 다음과 같은 준비도 점수를 생성합니다.
The Readiness Scores indicate how compatible your code is with Snowflake, not how much work remains to be done. Even with a high readiness score, the remaining incompatible code might still require significant effort to migrate. To accurately estimate the work needed for migration, review the complete assessment report. If you need help creating a migration plan or estimating the effort required, reach out to our team.
레벨¶
Snowpark Migration Accelerator(SMA)는 신호등과 유사한 색상으로 구분된 점수 시스템을 사용합니다.
빨간색 - 심각한 문제가 감지되었습니다. 마이그레이션 프로세스에 큰 영향을 미치거나 정확한 코드 분석을 방해하므로 즉시 중지하고 문제를 해결하십시오. 계속 진행하기 전에 제공된 작업 단계를 따르십시오.
노란색 - 경고가 감지되었습니다. 작업 단계를 주의 깊게 검토하고 마이그레이션에 미칠 수 있는 잠재적 영향을 파악하십시오. 의미를 이해했다면 다음 단계로 넘어갈 수 있습니다.
녹색 - 주요 문제가 발견되지 않았습니다. 이는 마이그레이션에 큰 장애가 없음을 나타내지만 여전히 코드 조정이 필요할 수 있습니다. 작업 단계를 검토하고 마이그레이션 프로세스를 계속 진행하십시오.
점수 해석 방법¶
각 점수에 대해 다음을 받게 됩니다.
숫자 값
상태 표시기(앞서 설명한 대로 빨간색, 노란색 또는 녹색)
권장되는 다음 작업
강력히 권장합니다.
점수를 순차적으로 검토 - 빨간색 점수가 발생하면 해당 문제를 즉시 조사하고 해결합니다
모든 점수에 대한 모든 권장 조치 검토 - 녹색 점수를 포함한 모든 결과에 대해 중요한 작업 항목이 포함되어 있으므로 권장되는 다음 단계를 확인합니다
현재 시스템에서 사용 가능한 준비도 점수를 살펴 보겠습니다.
Snowpark API Readiness Score¶
The Snowpark Migration Accelerator (SMA) generates a Snowpark API Readiness Score, which indicates how ready your code is for migration. It’s important to note that this score only evaluates the usage of Spark API components and does not assess other elements such as third-party libraries or external dependencies in your code.
When SMA analyzes your code, it identifies all Spark API references, including both import statements and function calls. These references are documented in the Spark API Usages Inventory, which you can find in your local output directory. Each reference is classified as either “supported” or “not supported” according to the Spark Reference Categories. The readiness score is calculated by dividing the number of supported references by the total number of references found in your code.
This score is displayed as a percentage, indicating how well Snowflake supports the Spark API references found in your code. A higher percentage means better compatibility with Snowflake. You can view this score in both the detailed report and the assessment summary sections of the application.
여기에 표시된 준비도 점수는 SMA 에서 생성한 원래 점수입니다. 준비도 점수가 하나만 표시되는 최신 버전(SMA)의 경우 이 점수는 특별히 Spark API 호환성을 측정합니다.
Snowpark API Readiness Levels¶
계산된 점수에 따라 결과는 녹색, 노란색, 빨간색의 세 가지 카테고리 중 하나로 분류됩니다. 애플리케이션 및 출력 보고서는 점수 범주에 따라 구체적인 권장 사항을 제공합니다.
The Snowpark API Readiness Score will be assigned one of these levels:
녹색: 대부분의 Spark API 참조가 지원되므로 이 워크로드는 마이그레이션의 강력한 후보입니다. 다른 메트릭도 녹색이면 개념 증명을 진행하는 것이 좋습니다.
노란색: 일부 Spark API 참조가 지원되지 않으므로 추가 마이그레이션 작업이 필요합니다. 다음 단계에는 지원되지 않는 항목의 인벤토리를 생성하고 필요한 변환 노력을 추정하는 작업이 포함되어야 합니다.
Snowpark Connect 준비도 점수¶
Snowpark Connect 준비도 점수는 코드베이스에서 Snowpark Connect가 지원하는 Spark API 참조의 백분율을 측정합니다. 이 점수는 Snowpark Connect 환경 내에서 기존 Spark API 코드 실행의 준비도를 평가합니다.
계산 방법¶
During its execution, the SMA scans your codebase to identify all references to the Spark API. Examples of such references include import statements, function calls, and class instantiations. All discovered references are then logged in the Spark API Usages Inventory. This inventory is generated as a file in your local output directory. For every reference listed in the inventory, the SMA populates the IsSnowparkConnectToolSupported column, setting it to True if the API usage is supported by Snowpark Connect, or False if it is not.
준비도 점수를 계산하기 위해 SMA는 지원되는 모든 참조를 가져와 코드베이스에 있는 총 참조로 나눕니다.
예를 들어, 코드베이스에 100개의 Spark API 참조가 있는 경우 그중 90개가 Snowpark Connect에서 지원되며, Snowpark Connect 준비도 점수는 90%입니다.
Snowpark Connect 준비도 점수의 백분율이 높을수록 Snowpark Connect와의 호환성이 높으며, Spark 코드의 더 많은 부분이 Snowpark Connect에서 지원하는 기능과 일치함을 나타냅니다.
준비도 수준¶
The compatibility analysis yields a readiness score, which is categorized into one of three distinct levels: Green, Yellow, or Red. Both the application’s assessment summary and the generated detailed report will display this readiness level, accompanied by specific guidance tailored to the findings:
Green - This workload is highly compatible with Snowpark Connect as the majority of references to the Spark API are supported without any code changes. Files that are fully compatible can be run immediately, though some files will still require issue resolution.
A good next step would be to try to run some of the files in Snowflake. View the reports generated by the SMA and select a file that might be ready to run with Snowpark Connect.
Yellow - There are some elements of the Spark API in this workload that are not supported in Snowpark Connect or are incompatible with Snowpark Connect for Spark. This workload may still be able to run with Snowpark Connect, but there are elements that will require issue resolution or even re-architecture.
The recommended next step would be to evaluate if code conversion makes more sense. You can do this by converting this workload to the Snowpark API, and reviewing the Snowpark API Readiness Score. You can also dive deeper into this workload’s compatibility with Snowpark Connect by viewing the reports generated by the SMA. You can explore the compatibility with Snowpark by understanding which files may be ready to run and working through the Spark elements that have issues that need resolution.
Red - This workload has a significant number of references to the Spark API that are not supported in Snowpark Connect. However, this workload may still be a good candidate for conversion to the Snowpark API. The recommended next step would be to convert this workload, and take a look at the Snowpark API Readiness Score. If you need help, feel free to reach out to sma-support@snowflake.com.
If you would still like to further explore the compatibility with Snowpark Connect, you can view the reports generated by the SMA. A good place to start would be to understand which files may be ready to run.
서드 파티 API 준비도 점수¶
서드 파티 준비도 점수는 가져온 라이브러리 중 얼마나 많은 라이브러리를 Snowflake에서 사용할 수 있는지를 보여줍니다. 이 점수를 더 잘 이해하기 위해 먼저 ‘서드 파티’의 의미에 대해 설명하겠습니다.
서드 파티 라이브러리: Snowflake에서 개발, 유지 관리 또는 제어하지 않는 모든 소프트웨어 패키지 또는 라이브러리(또는 Snowflake의 Snowpark).
The readiness score indicates the percentage of external libraries and packages that are compatible with Snowflake. For Python code, compatibility means the package is available through the Anaconda package collection in Snowpark. For Scala or Java code, compatibility means the package is already included in Snowpark’s core functionality.
준비도 점수는 지원되는 서드 파티 라이브러리 가져오기 수를 코드의 총 서드 파티 라이브러리 가져오기 수로 나누어 계산합니다.
준비도 점수에 대한 중요 정보:
Snowpark에서 지원되는 서드 파티 라이브러리: 여기에는 Snowpark가 지원하는 모든 라이브러리(org.apache.spark 포함)가 포함됩니다
총 서드 파티 라이브러리 호출 수: 코드에서 발견된 모든 타사 라이브러리 호출의 합계로, Spark 라이브러리와 비 Spark 라이브러리, Snowpark에서 지원되는 라이브러리와 지원되지 않는 라이브러리가 모두 포함됩니다.
가져오기 사용량 인벤토리에서 “ThirdPartyLib”로 표시된 가져오기만 계산됩니다. 내부 종속성과 코드베이스 내 가져오기는 제외됩니다.
이 메트릭은 고유한 라이브러리 참조가 아닌 총 호출 수를 계산합니다. 예를 들어, 코드에 총 100개의 라이브러리 호출이 있고 지원되지 않는 라이브러리에 대한 호출이 80개, 지원되는 라이브러리에 대한 호출이 20개인 경우 지원 점수는 20%가 됩니다. 이는 고유 라이브러리 참조의 비율이 아니라 코드에서 지원되는 라이브러리와 지원되지 않는 라이브러리의 실제 사용 빈도를 보여줍니다.
서드 파티 API 준비 수준¶
계산된 점수에 따라 결과는 녹색, 노란색, 빨간색의 세 가지 카테고리 중 하나로 분류됩니다. 애플리케이션 및 출력 보고서는 점수 범주에 따라 구체적인 권장 사항을 제공합니다.
서드 파티 API 준비도 점수에는 다음 레벨 중 하나가 할당됩니다.
녹색 - 코드베이스가 Snowflake에서 완벽하게 지원되는 Python 라이브러리를 사용합니다. 추가 구성은 필요하지 않습니다.
Yellow - The codebase contains at least one Python package or library that is not currently supported in Snowpark. You can add unsupported third-party packages using several methods described in the third-party package documentation. To identify unsupported packages, review the Import Usages Inventory generated by SMA. Then analyze how these packages are used in your code and plan their implementation in Snowflake.
Red - The codebase heavily relies on packages or libraries not supported in Snowpark. This could mean either a single unsupported library is used extensively throughout the code, or multiple unsupported libraries are used across different parts of the codebase. A thorough assessment of these import statements is necessary to understand their impact. For guidance or assistance with package support, contact sma-support@snowflake.com.
SQL 준비도 점수¶
SQL 준비도 점수는 소스 코드의 SQL 요소 중 몇 퍼센트가 Snowpark Migration Accelerator(SMA)를 사용하여 Snowflake SQL 로 자동 변환될 수 있는지를 나타냅니다. 점수가 높을수록 더 많은 코드를 자동으로 변환할 수 있으므로 마이그레이션 프로세스가 더 쉽고 빨라집니다.
준비도 점수는 변환 가능한 SQL 요소의 수를 소스 코드에 있는 SQL 요소의 총 수로 나누어 계산합니다.
SQL 준비도 점수 수준¶
SQL 준비도 점수에는 다음 레벨 중 하나가 할당됩니다.
녹색 - 이 코드베이스의 SQL 은 대부분 Snowflake에서 직접 지원하거나 SMA 가 자동으로 변환할 수 있습니다. 완벽한 변환은 없지만, 이 워크로드는 Snowflake 마이그레이션을 위해 최소한의 수동 조정이 필요합니다.
노란색 - 이 코드베이스의 일부 SQL 요소는 Snowflake에서 지원되지 않으므로 마이그레이션에 추가적인 노력이 필요합니다. SQL 요소 인벤토리에서 지원되지 않는 기능을 검토하고 문제 출력에서 EWI 를 확인하여 작업 계획을 세우십시오. 약간의 코드를 조정하거나 일부 구성 요소를 부분적으로 재설계해야 할 수도 있습니다.
Red - A large portion of SQL in this codebase is not compatible with Snowflake, suggesting significant redesign may be necessary. To proceed, review the SQL Element Inventory for unsupported features and examine the EWI’s in the issues output to develop a migration strategy. For assistance, contact sma-support@snowflake.com.
While readiness scores provide valuable insights, they should not be the only factor in determining a workload’s migration readiness. Consider multiple aspects of your migration plan alongside these scores, as they serve as an initial assessment rather than a complete evaluation. If you notice any readiness metrics that could be improved or aren’t accurately represented in the tool, let us know. The SMA team continuously works to enhance and refine these readiness measurements.