Snowpark Connect for Spark 를 사용하여 Snowflake에서 Apache Spark™ 워크로드 실행

Snowpark Connect for Apache Spark™ 을 사용하면 기존 Spark 워크로드를 Snowflake에 직접 연결하여 Snowflake 컴퓨팅 엔진에서 실행할 수 있습니다. Snowpark Connect for Spark 는 Snowflake에서 `Spark DataFrame API<https://spark.apache.org/docs/latest/sql-programming-guide.html>`_ 사용을 지원합니다. 모든 워크로드는 Snowflake 웨어하우스에서 실행됩니다. 따라서 Snowflake 엔진의 모든 이점을 활용하여 PySpark 데이터프레임 코드를 실행할 수 있습니다.

Apache Spark™ 버전 3.4의 Apache Spark 커뮤니티에는 Spark Connect가 도입되었습니다. 분리된 클라이언트-서버 아키텍처가 사용자의 코드를 작업이 완료되는 Spark 클러스터와 분리합니다. 이 새로운 아키텍처를 통해 Snowflake에서 Spark 작업을 지원할 수 있습니다.

사용자는 :ref:`익숙한 클라이언트 도구를 사용하여 개발 <label-snowpark_connect_overview_develop>`할 수 있습니다.

Snowpark Connect for Spark 이 제공하는 이점은 다음과 같습니다.

  • 클라이언트와 서버를 분리해 Spark 클러스터를 관리하지 않고도 Snowflake 컴퓨팅 엔진에서 원격으로 Spark 코드를 실행할 수 있습니다.

  • 팀이 기존 에코시스템을 사용하여 Spark 워크로드(예:Jupyter Notebooks, VS Code, Airflow)를 작성하고 오케스트레이션할 수 있습니다.

  • 마이그레이션이나 변경 작업을 최소화하여 오픈 소스 Spark 데이터 프레임 및 Spark SQL 코드를 재사용할 수 있습니다.

  • Snowflake 거버넌스, 보안, 확장성을 Spark 기반 워크플로에 통합하는 간소화된 방법을 제공함으로써 Snowflake에 푸시다운 최적화를 적용하여 익숙한 PySpark 환경을 지원합니다.

  • PySpark 및 Spark SQL 등 여러 언어를 사용할 수 있습니다.

Snowpark Connect for Spark 시작하기

Snowpark Connect for Spark 를 시작하려면 다음 단계를 따르세요.

  1. Snowflake에서 실행하기 위한 Spark 워크로드를 개발하는 데 사용할 :doc:`클라이언트 도구를 설정</developer-guide/snowpark-connect/snowpark-connect-clients>`합니다.

    예를 들면, Snowflake Notebooks 또는 :doc:`다른 도구</developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`를 사용할 수 있습니다.

  2. Snowpark Submit 을 사용하여 Spark 워크로드를 비동기적으로 실행합니다.

    자세한 내용은 Snowpark Submit 에서 Spark 일괄 워크로드 실행하기 섹션을 참조하십시오.

  3. Spark 세부 정보에서 Snowpark Connect for Spark 지원을 알아봅니다.

    자세한 내용은 Snowpark Connect for Spark 호환성 가이드 섹션을 참조하십시오.

Snowflake에서 Spark 워크로드 개발 및 실행하기

익숙한 개발 도구를 사용하여 Snowflake에서 실행되는 Spark 워크로드를 개발한 후 Snowpark Submit 명령줄 도구를 사용하여 해당 워크로드를 일괄적으로 실행할 수 있습니다.

  • 대화형 개발 시 로컬 도구를 사용할 수 있습니다.

    Snowflake Notebooks :doc:`및 기타 도구</developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`를 사용하여 Spark 워크로드를 개발할 수 있습니다. Snowflake로 인증하고 Spark 세션을 시작한 후 PySpark 코드를 실행하여 데이터를 로드, 변환, 분석할 수 있습니다.

  • 익숙한 Spark 의미 체계를 사용하면서 Snowflake의 인프라에서 직접 비대화형 비동기 Spark 워크로드를 실행할 수 있습니다.

    Snowpark Submit 을 사용하면 간단한 CLI 인터페이스와 도구(Airflow 포함)를 사용하여 프로덕션용 Spark 애플리케이션을 제출할 수 있습니다.

    자세한 내용은 Snowpark Submit 에서 Spark 일괄 워크로드 실행하기 섹션을 참조하십시오.