Snowpark Scala용 Scala REPL 설정하기

이 항목에서는 Snowpark용 Scala REPL을 설정하는 방법에 대해 설명합니다.

이 항목의 내용:

Scala REPL 설치

Scala 빌드 도구에는 Scala REPL (read-eval-print loop)이 제공됩니다. 지원되는 Scala 빌드 도구 버전 을 설치하려면 사용할 버전을 찾고 설치 지침을 따르십시오.

Scala REPL 실행

Scala REPL에서 Snowpark 라이브러리를 사용하려면 다음을 수행하십시오.

  1. 아직 이렇게 하지 않은 경우, Snowpark 라이브러리 아카이브 파일을 다운로드하고 파일의 내용을 추출합니다.

  2. 아카이브 파일에 제공된 run.sh 셸 스크립트를 실행하여 REPL을 시작합니다.

cd <path>/snowpark-1.9.0
./run.sh

run.sh 스크립트는 다음을 수행합니다.

  • Snowpark 라이브러리 및 종속성을 클래스 경로에 추가합니다.

  • Scala REPL에 의해 생성된 클래스에 대한 <path>/snowpark-1.9.0/repl_classes/ 디렉터리를 만듭니다.

  • com.snowflake.snowpark 패키지와 com.snowflake.snowpark.functions 오브젝트를 가져오는 preload.scala 파일을 미리 로딩합니다.

Scala에 다른 REPL을 사용하는 경우:

  1. Snowpark 라이브러리 JAR 파일 및 종속성을 클래스 경로에 추가합니다.

    • Snowpark 라이브러리 JAR 파일은 추출된 TAR/ZIP 아카이브 파일의 최상위 디렉터리에 있습니다.

    • 종속성은 추출된 TAR/ZIP 아카이브 파일의 lib 디렉터리에 있습니다.

  2. REPL에 의해 생성된 클래스에 대한 임시 디렉터리를 만들고, 해당 디렉터리에 클래스를 생성하도록 REPL을 구성합니다.

나중에 인라인 사용자 정의 함수(UDF)를 정의할 때 REPL 클래스의 디렉터리를 종속성으로 지정 해야 합니다.

Scala REPL 구성 확인

Snowpark를 사용하도록 프로젝트를 구성했는지 확인하려면 Snowpark 코드의 간단한 예를 실행하십시오.

  1. .zip / .tar.gz 파일에서 추출한 파일이 포함된 디렉터리(즉, run.sh 스크립트가 포함된 디렉터리)에서 아래 코드가 포함된 Main.scala 파일을 만듭니다.

    import com.snowflake.snowpark._
    import com.snowflake.snowpark.functions._
    
    object Main {
      def main(args: Array[String]): Unit = {
        // Replace the <placeholders> below.
        val configs = Map (
          "URL" -> "https://<account_identifier>.snowflakecomputing.com:443",
          "USER" -> "<user name>",
          "PASSWORD" -> "<password>",
          "ROLE" -> "<role name>",
          "WAREHOUSE" -> "<warehouse name>",
          "DB" -> "<database name>",
          "SCHEMA" -> "<schema name>"
        )
        val session = Session.builder.configs(configs).create
        session.sql("show tables").show()
      }
    }
    
    Copy

    다음 사항을 참고하십시오.

    • <placeholders> 를 Snowflake에 연결하는 데 사용하는 값으로 바꾸십시오.

    • <account_identifier>계정 식별자 를 지정하십시오.

    • 키 페어 인증 을 사용하려는 경우:

      • PASSWORDPRIVATE_KEY_FILE 로 바꾸고 개인 키 파일의 경로로 설정하십시오.

      • 개인 키가 암호화된 경우, PRIVATE_KEY_FILE_PWD 를 개인 키 암호 해독을 위한 암호 구문으로 설정해야 합니다.

      PRIVATE_KEY_FILEPRIVATE_KEY_FILE_PWD 를 설정하는 대신, 개인 키 파일에서 암호화되지 않은 개인 키 의 문자열 값으로 PRIVATEKEY 속성을 설정할 수 있습니다.

      • 예를 들어, 개인 키 파일이 암호화되지 않은 경우, 이를 파일의 키 값으로 설정합니다(-----BEGIN PRIVATE KEY----------END PRIVATE KEY----- 머리글 및 바닥글을 제외하고 줄 끝 제외).

      • 개인 키가 암호화된 경우, 키를 PRIVATEKEY 속성 값으로 설정하기 전에 키의 암호를 해독해야 합니다.

  2. 디렉터리 내에서 run.sh 스크립트를 실행하여 Snowpark 라이브러리에 필요한 설정으로 Scala REPL을 시작합니다.

    ./run.sh
    
    Copy
  3. Scala REPL 셸에서 다음 명령을 입력하여, 방금 만든 샘플 파일을 로딩합니다.

    :load Main.scala
    
    Copy
  4. 다음 문을 실행하여, 로딩한 클래스의 main 메서드를 실행합니다.

    Main.main(Array[String]())
    
    Copy

    이는 SHOW TABLES 명령을 실행하고 결과의 처음 10개 행을 출력합니다.