Snowpark Migration Accelerator: 사전 처리 고려 사항

Snowpark Migration Accelerator(SMA)로 분석할 소스 코드를 준비할 때, 이 도구는 입력 디렉터리에 위치한 코드만 처리할 수 있다는 점에 유의하십시오. SMA 를 실행하기 전에 모든 관련 소스 파일이 이 디렉터리에 있는지 확인합니다.

크기

SMA 도구는 데이터 파일이 아닌 소스 코드와 텍스트 파일을 분석합니다. 대규모 코드베이스 또는 수많은 파일을 스캔할 때 로컬 컴퓨터에서 도구의 메모리 제한이 발생할 수 있습니다. 예를 들어, 모든 종속성 라이브러리에서 내보낸 코드를 입력 파일로 포함하면 분석 시간이 훨씬 더 오래 걸립니다. SMA 는 스캔에 포함된 코드의 양에 관계없이 Spark 관련 코드 참조만 식별자라는 점에 유의하십시오.

모든 코드 파일을 수집하는 것이 좋습니다.

  • 자동화된 프로세스의 일부로 정기적으로 실행됩니다

  • 프로세스를 생성하는 데 사용되었습니다(일반 실행과 분리된 경우)

  • 프로세스 또는 생성 스크립트에서 참조하는 조직에서 개발한 사용자 지정 라이브러리입니까?

기존 서드 파티 라이브러리(예: Pandas, Scikit-Learn 등)를 생성하는 코드를 포함할 필요는 없습니다. 이 도구는 정의 코드 없이도 이러한 참조를 자동으로 카탈로그화합니다.

작동해야 합니다

Snowpark Migration Accelerator(SMA)가 올바르게 기능하려면 완전하고 유효한 소스 코드가 필요합니다. 불완전한 코드 조각이나 Scala 또는 Python에서 독립적으로 실행되지 않는 스니펫은 처리할 수 없습니다. SMA 를 실행하는 동안 많은 구문 분석 오류가 발생하면 소스 코드가 불완전하거나 구문 오류가 있는 것일 수 있습니다. 성공적인 분석을 위해 입력 디렉터리에 소스 플랫폼에서 작동하고 구문적으로 올바른 코드만 포함되어 있는지 확인하십시오.

사용 사례

SMA 출력을 이해하는 것은 도구 자체를 넘어서는 것입니다. SMA 가 코드베이스를 분석하는 동안 잠재적인 마이그레이션 문제를 파악하려면 구체적인 사용 케이스를 이해하는 것이 중요합니다. 예를 들어, SQL 을 사용하는 노트북과 Spark 참조가 없는 데이터베이스 커넥터가 있는 경우 SMA 는 해당 노트북에서 사용된 서드 파티 라이브러리만 보고합니다. 이 정보는 유용하지만, 이 도구는 이러한 파일에 대한 준비도 점수를 제공하지 않습니다. 애플리케이션에 대한 컨텍스트가 있으면 이러한 결과를 보다 효과적으로 해석하는 데 도움이 됩니다.

Databricks Notebooks의 코드

Databricks 노트북을 사용하면 같은 노트북 내에서 여러 프로그래밍 언어(SQL, Scala, PySpark)로 코드를 작성할 수 있습니다. 노트북을 내보낼 때 파일 확장자는 기본 언어 범주(Python 노트북의 경우 .ipynb 또는 .py, SQL 노트북의 경우 .sql)와 일치합니다. 노트북의 기본 언어가 아닌 다른 언어로 작성된 코드는 내보낼 때 자동으로 설명이 추가됩니다. 예를 들어, Python 노트북에 SQL 코드를 작성하면 노트북을 내보낼 때 해당 SQL 코드에 설명이 추가됩니다.

DBX 노트북 예제

코드가 포함된 설명은 SMA 도구에서 분석되지 않습니다. 설명 내의 코드를 분석하려면 먼저 도구가 인식할 수 있는 파일 형식으로 코드를 노출하도록 전처리해야 합니다.

노트북으로 작업할 때 SMA 는 노트북의 파일 확장자과 다른 언어로 작성된 코드를 분석하고 인식할 수 있습니다. 예를 들어, Jupyter 노트북(.ipynb 파일)에 SQL 코드가 있는 경우 SMA 는 코드에 설명이 없더라도 이를 감지하여 처리합니다.

노트북이 아닌 파일의 경우, 코드가 소스 언어와 일치하는 올바른 파일 확장자로 저장되었는지 확인하십시오(예: Python 코드의 확장자는 .py로 저장). 이렇게 하면 코드를 올바르게 분석할 수 있습니다.