애플리케이션 및 확장 프로그램 개발

Snowflake를 확장하거나 클라이언트 역할을 하거나 통합 구성 요소 역할을 하는 애플리케이션을 작성할 수 있습니다.

Snowpark API로 데이터 쿼리 및 처리하기

Java, Python 또는 Scala에서 Snowpark API를 사용하여 애플리케이션 코드가 실행되는 시스템으로 데이터를 옮기지 않고도 Snowflake에서 데이터를 처리하는 애플리케이션을 빌드할 수 있습니다.

Snowpark를 사용하면 다음을 수행할 수 있습니다.

  • Java, Python 또는 Scala로 정의된 앱, 파이프라인, 처리 논리를 만듭니다.

  • 기본적으로 지원되는 언어와 통합되는 라이브러리를 사용하여 데이터 문을 작성합니다.

  • 데이터를 처리할 때 Snowflake와 데이터를 주고받는 오버헤드를 줄입니다.

  • Java, Python 또는 Scala를 작성하여 사용자 정의 함수를 만듭니다. Snowflake는 백그라운드에서 필요한 SQL 코드를 생성합니다.

Snowpark 개요Snowpark API 섹션을 참조하십시오.

개발자 가이드

가이드

설명

Java로 Snowpark 코드를 작성하기 위한 가이드와 참고 자료입니다.

Python으로 Snowpark 코드를 작성하기 위한 가이드와 참고 자료입니다.

Scala로 Snowpark 코드를 작성하기 위한 가이드와 참고 자료입니다.

함수 및 프로시저의 메시지 로깅하기

이벤트 테이블에 저장된 로그 메시지를 기록하는 코드를 작성하기 위한 가이드입니다.

함수와 프로시저의 추적 이벤트

이벤트 테이블에 저장된 추적 데이터를 기록하는 코드를 작성하기 위한 가이드입니다.

빠른 시작

다음 빠른 시작 자습서를 사용하여 Snowpark에 대한 실습 소개를 받을 수 있습니다.

Snowpark ML

Snowpark ML 은 전처리, 모델링, 모델 관리, 데이터 수집을 포함하여 Snowflake의 머신 러닝 및 데이터 과학을 위한 Python 라이브러리입니다. 이 라이브러리는 Snowpark Python과 함께 작동하여 학습 및 테스트 데이터에 Snowpark DataFrames를 사용할 수 있습니다.

프로시저, 사용자 정의 함수 및 외부 함수를 사용하여 Snowflake 확장하기

프로시저, 사용자 정의 함수, 외부 함수를 작성하여 Snowflake를 향상하고 확장할 수 있습니다.

  • 프로시저를 사용하면 코드 또는 SQL 문을 실행하여 예약된 작업이나 주문형 작업을 수행할 수 있습니다. 지원되는 프로그래밍 언어 중 하나로 논리를 작성합니다.

  • 사용자 정의 함수(UDF)를 사용하면 데이터를 계산하고 반환하는 논리를 실행할 수 있습니다. UDF는 일괄 처리 및 사용자 지정 논리를 SQL에 통합하는 데 유용합니다. 지원되는 프로그래밍 언어 중 하나로 논리를 작성합니다.

  • 외부 함수를 사용하면 Snowflake와 Snowflake 외부에서 실행 중인 사용자 지정 코드 간의 통합을 설정한 다음, 사용자 정의 함수처럼 사용자 지정 코드를 사용할 수 있습니다.

이 두 옵션 중에서 선택하는 방법에 대한 자세한 내용은 저장 프로시저를 작성할지 사용자 정의 함수를 작성할지 선택하기 섹션을 참조하십시오.

개발자 가이드

가이드

설명

저장 프로시저 개요

지원되는 언어로 처리기를 작성하는 방법을 포함한 저장 프로시저 작성 가이드.

사용자 정의 함수 개요

지원되는 언어로 처리기를 작성하는 방법을 포함한 UDF 작성 가이드.

함수와 프로시저의 설계 지침 및 제약 조건

보안, 규칙 등에 대한 일반 지침.

처리기 코드 패키징하기

스테이지에서 유지할 처리기 코드 빌드에 대한 정보.

외부 네트워크 액세스 개요

UDF 및 프로시저 처리기를 사용하여 외부 네트워크 엔드포인트에 액세스하기 위한 가이드입니다.

외부 함수 쓰기

다른 시스템에서 코드를 호출할 수 있는 외부 함수 작성 가이드.

함수 및 프로시저의 메시지 로깅하기

이벤트 테이블에 저장된 로그 메시지를 기록하는 코드를 작성하기 위한 가이드입니다.

함수와 프로시저의 추적 이벤트

이벤트 테이블에 저장된 추적 데이터를 기록하는 코드를 작성하기 위한 가이드입니다.

드라이버와 API를 사용하여 클라이언트 앱 빌드하기

Snowflake 작업을 클라이언트 앱에 통합할 수 있습니다. Snowpark API 외에도, 언어 및 플랫폼별 드라이버를 사용할 수도 있습니다.

드라이버

드라이버를 사용하면 코드 또는 앱에서 Snowflake에 연결할 수 있습니다. C#, Go, Python과 같은 언어를 사용하여 Snowflake에서 작업을 수행하는 애플리케이션을 작성할 수 있습니다. Snowflake에 액세스하는 데 사용할 수 있는 각 드라이버에 대한 구체적인 정보는 다음 섹션을 참조하십시오.

RESTful API

Snowflake RESTful SQL API를 사용하여 HTTPS 및 REST에서 데이터에 액세스하고 업데이트할 수 있습니다. 예를 들어 SQL 문을 제출하고, 저장 프로시저를 생성 및 실행하고, 사용자를 프로비저닝하는 등의 작업을 수행할 수 있습니다.

SQL REST API에서 POST 요청의 본문에서 실행할 SQL 문을 제출합니다. 그런 다음 실행 상태를 확인하고 GET 요청으로 결과를 가져옵니다.

SQL REST API 개발자 가이드는 Snowflake SQL REST API 섹션을 참조하십시오.

Snowflake Python API

Snowflake Python API는 SQL 명령을 사용하지 않고도 Snowflake의 워크로드 전반에서 Snowflake 리소스를 관리하는 데 사용할 수 있는 통합 Python API입니다.

예를 들어 이 Python API를 사용하여 Snowflake 작업, 데이터베이스, 테이블, 가상 웨어하우스를 생성하고 관리할 수 있습니다.

Snowflake Python API 개발자 가이드는 Snowflake Python API: Python으로 Snowflake 오브젝트 관리하기 섹션을 참조하십시오.

다른 시스템과 통합하기

Snowflake에는 Snowflake 외부의 시스템과 통합하기 위한 API가 있는 커넥터가 포함되어 있습니다. 자세한 내용은 아래 개발자 가이드를 참조하십시오.

개발자 가이드

커넥터

설명

Kafka용 Snowflake 커넥터

Apache Kafka는 이벤트 스트리밍 플랫폼입니다. 이 커넥터는 Kafka에서 Snowflake로 이벤트를 보내 수집할 수 있습니다.

Spark용 Snowflake 커넥터

Apache Spark는 대규모 데이터 처리에 사용되는 분석 엔진입니다. Spark 커넥터는 Spark 워크로드에 통합되어 Snowflake에서 직접 더 많은 데이터를 처리하여 데이터 전송을 줄이고 성능을 크게 향상할 수 있습니다.

또한 Snowflake를 다른 많은 시스템과 통합하여 데이터 교환, 머신 러닝을 사용한 분석 수행, 보안 강화 등을 수행할 수 있습니다. 이러한 시스템과 Snowflake 통합에 대한 자세한 내용은 Snowflake 에코시스템 섹션을 참조하십시오.

지원되는 언어

Snowflake는 앱 및 확장 프로그램 개발에 사용되는 여러 언어를 지원합니다. 다음 표에 Snowflake를 기반으로 한 개발에 지원되는 언어와 각 언어로 빌드할 수 있는 대상이 나와 있습니다.

언어

Snowflake 기능

Java

다음을 할 수 있습니다.

JavaScript

다음을 할 수 있습니다.

PHP

다음을 할 수 있습니다.

Python

다음을 할 수 있습니다.

Scala

다음을 할 수 있습니다.

Snowflake Scripting

다음을 할 수 있습니다.

  • 프로시저 에서처럼 SQL에서 프로시저 구문을 사용할 수 있습니다.

SQL

다음을 할 수 있습니다.