Snowpark Scala용 SBT REPL 설정하기¶
이 항목에서는 Snowpark용 SBT REPL을 설정하는 방법에 대해 설명합니다.
이 항목의 내용:
sbt에서 새 Scala 프로젝트 만들기¶
다음으로, Snowpark에 대한 새 Scala 프로젝트를 만드십시오.
프로젝트에 대한 새 디렉터리를 만들고 해당 디렉터리로 변경합니다.
mkdir snowpark_project cd snowpark_project
sbt new
명령을 실행하고, 새 프로젝트를 만드는 데 사용할 템플릿 을 지정합니다. 예:sbt new scala/hello-world.g8
프로젝트 이름을 입력합니다. 그러면 해당 이름으로 프로젝트 디렉터리가 생성됩니다.
Snowpark용 sbt 프로젝트 구성¶
다음으로, Snowpark에 대한 프로젝트를 구성하십시오.
프로젝트의 build.sbt
파일에서 다음과 같이 변경하십시오.
사용하려는 버전과
scalaVersion
설정이 일치하지 않는 경우, 설정을 업데이트하십시오. 예:scalaVersion := "2.12.13"
Snowpark 라이브러리와 함께 사용하도록 지원되는 Scala 버전 을 사용해야 합니다.
종속성 목록에 Snowpark 라이브러리를 추가합니다. 예:
libraryDependencies += "com.snowflake" % "snowpark" % "1.10.0"
다음 행을 추가하여 REPL을 구성합니다.
Compile/console/scalacOptions += "-Yrepl-class-based" Compile/console/scalacOptions += "-Yrepl-outdir" Compile/console/scalacOptions += "repl_classes"
sbt 프로젝트 구성 확인¶
Snowpark를 사용하도록 프로젝트를 구성했는지 확인하려면 Snowpark 코드의 간단한 예를 실행하십시오.
src/main/scala/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() } }
다음 사항을 참고하십시오.
<placeholders>
를 Snowflake에 연결하는 데 사용하는 값으로 바꾸십시오.<account_identifier>
에 계정 식별자 를 지정하십시오.키 페어 인증 을 사용하려는 경우:
PASSWORD
를PRIVATE_KEY_FILE
로 바꾸고 개인 키 파일의 경로로 설정하십시오.개인 키가 암호화된 경우,
PRIVATE_KEY_FILE_PWD
를 개인 키 암호 해독을 위한 암호 구문으로 설정해야 합니다.
PRIVATE_KEY_FILE
및PRIVATE_KEY_FILE_PWD
를 설정하는 대신, 개인 키 파일에서 암호화되지 않은 개인 키 의 문자열 값으로PRIVATEKEY
속성을 설정할 수 있습니다.예를 들어, 개인 키 파일이 암호화되지 않은 경우, 이를 파일의 키 값으로 설정합니다(
-----BEGIN PRIVATE KEY-----
및-----END PRIVATE KEY-----
머리글 및 바닥글을 제외하고 줄 끝 제외).개인 키가 암호화된 경우, 키를
PRIVATEKEY
속성 값으로 설정하기 전에 키의 암호를 해독해야 합니다.
UDF를 만들려는 경우:
App
특성을 확장하도록object
를 설정하지 마십시오. 자세한 내용은 App 특성을 사용하여 오브젝트에서 UDF를 만드는 것에 대한 주의 사항 섹션을 참조하십시오.직렬화할 수 없는 클래스나 특성을 확장하도록
object
를 설정하지 마십시오.
프로젝트 디렉터리로 변경하고 다음 명령을 실행하여 샘플 코드를 실행합니다.
sbt "runMain Main"