원격 분석 클래스를 사용하도록 Java 및 Scala 환경 설정하기

com.snowflake.telemetry.Telemetry 클래스를 사용하는 처리기 코드를 빌드하고 패키징한 다음 스테이지에서 처리기를 참조할 수 있습니다. 원격 분석 라이브러리는 Maven과 Snowflake 개발자 사이트의 드라이버 및 라이브러리 페이지 에서 다운로드할 수 있는 보관 파일을 통해 사용할 수 있습니다.

Maven을 사용하여 Java 또는 Scala로 함수 또는 프로시저 처리기를 개발하는 경우 코드가 포함된 JAR 파일을 빌드할 수 있습니다.

  1. 프로젝트의 pom.xml 파일에서 com.snowflake:telemetry 패키지에 대한 종속성을 추가합니다.

    <dependency>
      <groupId>com.snowflake</groupId>
      <artifactId>telemetry</artifactId>
      <version>0.01</version>
    </dependency>
    
    Copy
  2. telemetry 패키지는 Snowflake에 이미 포함되어 있으므로 빌드하는 JAR 파일에서 제외합니다.

    1. 프로젝트 디렉터리에서 assembly/ 라는 하위 디렉터리를 만듭니다.

    2. 해당 디렉터리에서, JAR 파일에 종속성을 포함하도록 지정하는 어셈블리 설명자 파일을 만듭니다.

      예는 jar-with-dependencies 를 참조하십시오.

    3. 어셈블리 설명자에서, JAR 파일에서 Snowpark 라이브러리를 제외하는 <dependencySet> 요소를 추가합니다. 예:

      <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
        <id>jar-with-dependencies</id>
        <formats>
            <format>jar</format>
        </formats>
        <includeBaseDirectory>false</includeBaseDirectory>
        <dependencySets>
          <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
            <excludes>
              <exclude>com.snowflake:telemetry</exclude>
            </excludes>
          </dependencySet>
        </dependencySets>
      </assembly>
      
      Copy

      어셈블리 설명자의 요소에 대한 자세한 내용은 어셈블리 설명자 형식 을 참조하십시오.

  3. pom.xml 파일의 <project> » <build> » <plugins> 아래에 Maven Assembly Plugin용 <plugin> 요소를 추가합니다.

    또한, <configuration> » <descriptors> 아래에 이전 단계에서 만든 어셈블리 설명자 파일을 가리키는 <descriptor> 를 추가합니다.

    예:

    <project>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/jar-with-dependencies.xml</descriptor>
              </descriptors>
            </configuration>
            [...]
          </plugin>
          [...]
        </plugins>
        [...]
      </build>
      [...]
    </project>
    
    Copy