sbt로 Scala 처리기 코드 패키징하기¶
Scala 빌드 도구(sbt)를 사용하여 코드를 어셈블리 JAR로 빌드하고 패키징할 수 있습니다. sbt-assembly 플러그인 을 사용하면 모든 종속성을 포함하는 JAR 파일을 만들 수 있습니다.
JAR 파일이 있으면 이를 Snowflake 스테이지에 업로드한 다음, 함수나 프로시저를 만드는 데 사용하는 CREATE FUNCTION 또는 CREATE PROCEDURE 문의 IMPORTS 매개 변수에서 해당 파일을 참조할 수 있습니다. JAR 파일 업로드에 대한 자세한 내용은 코드에 종속성을 사용할 수 있도록 만들기 섹션을 참조하십시오. 코드를 인라인 상태로 둘지 스테이지에 둘지 선택하는 방법에 대한 자세한 내용은 처리기 코드를 인라인 또는 스테이지에 유지하기 섹션을 참조하십시오.
처리기 코드로 어셈블리 JAR 파일을 만들려면 다음 단계에 따르십시오.
build.sbt
파일이 포함된 디렉터리에서project/
하위 디렉터리에plugins.sbt
라는 파일을 만듭니다.예를 들어
build.sbt
파일이 포함된 디렉터리가hello-snowpark/
인 경우hello-snowpark/project/plugins.sbt
파일을 만듭니다.hello-snowpark/ |-- build.sbt |-- project/ |-- plugins.sbt
plugins.sbt
파일에서 다음 줄을 추가합니다.addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.1.0")
그러면 sbt-assembly 플러그인 이 프로젝트에 추가됩니다.
동일한 라이브러리의 여러 버전이 프로젝트에 필요한 경우(예: 프로젝트가 세 번째 라이브러리의 다른 버전을 필요로 하는 두 라이브러리에 의존하는 경우)
build.sbt
파일에서 병합 전략을 정의하여 종속성을 해결합니다. 자세한 내용은 병합 전략 을 참조하십시오.프로젝트에 Snowpark 라이브러리가 필요한 경우 아래와 같이
build.sbt
파일에서libraryDependencies
로 참조하십시오. 최소한 필수 최소 버전 을 사용해야 합니다.Snowpark 라이브러리는 Snowflake에 포함되어 있으므로 종속성이
"provided"
임을 지정하여 JAR 파일에서 제외합니다.libraryDependencies += "com.snowflake" % "snowpark" % "1.1.0" % "provided"
프로젝트의 디렉터리(예:
hello-snowpark
)로 변경하고 다음 명령을 실행합니다.sbt assembly
참고
Not a valid command: assembly
,Not a valid project ID: assembly
또는Not a valid key: assembly
오류가 발생하는 경우plugins.sbt
파일이project/
라는 하위 디렉터리(1단계에서 언급됨)에 있는지 확인하십시오.이 명령은 다음 위치에 JAR 파일을 만듭니다.
target/scala-<version>/<project-name>-assembly-1.0.jar