Databricks에서 Spark용 Snowflake 구성하기

Databricks 버전 4.2 기본 Snowflake Connector를 사용하면 Databricks 계정에서 라이브러리를 가져오지 않고도 Snowflake에서 데이터를 읽고 쓸 수 있습니다. 이전 버전의 Databricks에서는 Spark 커넥터용 라이브러리를 Databricks 클러스터로 가져와야 했습니다.

사용자가 각 시스템에서 수행해야 하는 처리 부분을 지정할 필요 없이 커넥터는 자동으로 Spark 및 Snowflake에 처리를 분산합니다. Snowflake의 자동 쿼리 푸시다운 최적화를 통한 쿼리의 이점도 있습니다.

이 항목의 내용:

전제 조건

  • Databricks 계정을 보유하고, Databricks Runtime 버전 4.2 이상을 사용해야 합니다. 또한,

    • Databricks 시크릿 관리자에서 Snowflake 사용자 로그인 이름과 비밀번호를 이미 설정해야 하며, dbutils.secrets.get(...) 을 호출하면 로그인과 비밀번호를 다시 읽을 수 있습니다. Databricks 시크릿 관리자에 대한 자세한 내용은 https://docs.databricks.com/user-guide/secrets/index.html을 참조하십시오.

  • Snowflake 계정을 보유해야 합니다. 이 계정에서 읽고 쓰기 위해 필요한 정보는 다음과 같습니다.

    • Snowflake 계정에 대한 URL.

    • 계정에 연결하는 사용자의 로그인 이름 및 비밀번호.

    • 연결 후 세션에 사용할 기본 데이터베이스 및 스키마.

    • 연결 후 세션에 사용할 가상 웨어하우스.

  • 연결에서 사용되는 역할에는 Databricks를 통해 읽거나 쓸 테이블이 포함된 스키마에 대한 USAGE 및 CREATE STAGE 권한이 필요합니다.

Databricks Snowflake Connector 설명서에 액세스하기

Databricks Snowflake Connector에 대한 기본 설명서는 Databricks 웹 사이트에서 제공됩니다. 이 설명서에는 Scala 또는 Python 노트북이 Spark에서 Snowflake로 또는 그 반대로 데이터를 전송하기 위해 사용하는 명령을 보여주는 예제가 포함되어 있습니다.

자세한 내용은 데이터 소스 — Snowflake 를 참조하십시오.

장기 실행 쿼리를 위한 외부 위치 준비하기

일부 작업이 36시간을 초과하여 실행되는 경우 Snowflake와 Spark 사이에서 데이터를 교환하기 위해 사용할 외부 위치를 준비하는 것이 좋습니다. 자세한 내용은 파일을 위한 외부 위치 준비하기 섹션을 참조하십시오.

Databricks에서 쿼리 푸시다운

Spark 쿼리는 Snowflake의 자동 쿼리 푸시다운 최적화를 활용하여 성능을 향상합니다. 기본적으로 Databricks에서는 Snowflake 쿼리 푸시다운를 사용하도록 설정됩니다.

쿼리 푸시다운에 대한 자세한 내용은 Snowflake로 Spark 쿼리 처리 푸시하기 (Snowflake 블로그)를 참조하십시오.