Snowpark Migration Accelerator: 마이그레이션 랩

[이 항목은 Snowflake 빠른 시작에서 제공되는 Snowflake 엔드투엔드 마이그레이션 빠른 시작의 일부이기도 합니다.]

데이터 웨어하우스에서 논리와 데이터를 마이그레이션하는 작업은 새 플랫폼에서 운영 데이터베이스를 가져오는 데 필수적입니다. 그러나 새 플랫폼을 기능적으로 활용하려면, 해당 데이터 플랫폼 안팎으로 이동하는 데이터를 실행하는 모든 파이프라인도 다시 지정하거나 리플랫포밍해야 합니다. 일반적으로 다양한 파이프라인이 사용되므로 이 작업은 종종 어려울 수 있습니다. 이 HoL에서는 Snowflake가 가속화할 수 있는 한 가지 기능에만 초점을 맞춥니다. 그러나 새로운 ETL 및 파이프라인 가속기는 지속적으로 개발되고 있다는 점에 유의하세요.

이 시나리오에서 마이그레이션할 파이프라인과 노트북에 대해 살펴보겠습니다. 참고로 이는 SQL Server 데이터베이스 마이그레이션이지만 개념 증명 범위로 한정됩니다. AdventureWorks가 SQL Server의 소규모 데이터 마트를 Snowflake로 이동시켰습니다. 그리고 AdventureWorks는 이 POC의 일부로 기본 파이프라인 스크립트 및 보고 노트북을 포함했습니다. 각 아티팩트의 요약은 다음과 같습니다.

  • 파이프라인 스크립트는 Spark를 사용하여 Python으로 작성됩니다. 이 스크립트는 오케스트레이션 도구에 의해 정기적으로 실행되는 로컬 디렉터리에 있는 이전 POS 시스템에서 생성된 액세스 가능한 파일을 읽습니다. (Airflow와 유사하지만, 이 오케스트레이션은 POC의 일부가 아니므로 정확히 무엇인지 100% 확신할 수 없습니다.)

  • 이 노트북은 기존 SQL Server 데이터베이스에서 읽고 몇 가지 요약 메트릭을 보고하는 보고 노트북입니다.

두 가지 모두 매우 복잡하지는 않지만, 둘 다 빙산의 일각에 불과합니다. 다른 데이터 마트와 관련된 파이프라인 스크립트와 노트북이 수백 개 더 있습니다. 이 POC에서는 이 두 가지만 이동시킵니다.

두 가지 모두 Spark를 사용하며 SQL Server 데이터베이스에 액세스합니다. 따라서 목표는 기본적으로 Spark의 작업을 Snowpark로 이동하는 것입니다. Snowpark Migration Accelerator(SMA)를 사용하여 이 작업을 수행하는 방법에 대해 살펴보겠습니다. SMA는 SnowConvert의 보조 도구이며 동일한 기반으로 구축되었습니다. 여러 단계를 살펴보겠지만(대부분은 SnowConvert에서 수행한 작업과 유사), 기본적으로 계속 반복해 온 평가 -> 변환 -> 유효성 검사라는 동일한 흐름에 따라 진행하고 있다는 점에 유의하세요.

이 랩 환경에 대한 참고 사항

이 랩에서는 Snowpark Migration Accelerator 및 Snowflake VS Code 확장 프로그램을 사용합니다. 그러나 이를 최대한 활용하려면 PySpark로 Python을 실행해야 합니다. 이 작업을 시작하는 가장 간단한 방법은 anaconda 배포판으로 환경을 시작하는 것입니다. 여기에는 이 랩의 코드를 실행하는 데 필요한 대부분의 패키지가 포함되어 있습니다.

다음 리소스를 사용할 수 있어야 합니다.

하지만 Snowflake 계정, SMA, Snowflake VS Code 확장 프로그램만으로 이 랩을 실행할 수 있습니다. 모든 리소스(특히 소스 코드)를 실행할 수는 없지만, 변환된 모든 요소를 Snowflake에서 사용할 수 있습니다.

이제 현재 가지고 있는 리소스를 평가해 보겠습니다.