Streamlit in Snowflake 정보¶
이 항목에서는 Streamlit in Snowflake 를 사용하여 Streamlit 애플리케이션을 개발하고 실행하는 방법을 설명합니다.
Streamlit in Snowflake 정보¶
Streamlit 은 머신 러닝과 데이터 과학을 위한 사용자 지정 웹 앱을 쉽게 만들고 공유할 수 있게 해주는 오픈 소스 Python 라이브러리입니다. Streamlit을 사용하면 강력한 데이터 애플리케이션을 신속하게 개발하여 배포할 수 있습니다. 오픈 소스 라이브러리에 대한 자세한 내용은 Streamlit 라이브러리 설명서 를 참조하십시오.
개발자는 Streamlit in Snowflake 로 Snowflake의 데이터 클라우드에서 Streamlit 앱을 안전하게 개발, 배포, 공유할 수 있습니다. Streamlit in Snowflake 를 사용하면 데이터나 애플리케이션 코드를 외부 시스템으로 이동하지 않고도 Snowflake에서 데이터를 처리하고 사용하는 애플리케이션을 만들 수 있습니다.
Streamlit in Snowflake 사용의 전제 조건¶
Streamlit in Snowflake 를 사용하려면 다음 전제 조건을 충족했는지 확인하십시오.
제한사항 및 지원되지 않는 기능 을 검토합니다.
Streamlit 앱을 만들고 사용하는 데 필요한 권한 을 검토합니다.
Anaconda 서비스 약관을 수락합니다. Anaconda에서 Streamlit in Snowflake 와 Snowflake에서 제공되는 패키지를 사용하려면 Snowflake 서드 파티 약관 에 동의해야 합니다. 이러한 패키지 사용에 대한 자세한 내용은 Anaconda의 서드 파티 패키지 사용하기 를 참조하십시오.
*.snowflake.app
의 트래픽을 허용하도록 방화벽을 구성합니다. 자세한 내용은 방화벽 허용 목록 설정하기 섹션을 참조하십시오.
Streamlit 앱 생성 및 사용에 필요한 권한¶
Streamlit in Snowflake 내에서 Streamlit 앱은 Snowflake 액세스 제어 프레임워크 를 준수하는 보안 오브젝트입니다. Streamlit 앱은 소유자 권한을 기반으로 하는 권한 모델을 사용합니다. 자세한 내용은 소유자 권리 및 Streamlit in Snowflake 앱 이해하기 섹션을 참조하십시오.
다음 섹션에서는 Snowflake에서 Streamlit 앱을 생성하고 보는 데 필요한 권한에 대해 설명합니다.
Streamlit 앱을 생성하는 데 필요한 권한¶
Streamlit 앱은 스키마 수준 오브젝트입니다. Streamlit in Snowflake 를 사용하여 Streamlit 앱을 생성하고 편집하려면 Streamlit 앱이 포함된 스키마와 데이터베이스에 대해 다음 권한이 부여된 역할을 사용해야 합니다.
USAGE
CREATE STREAMLIT
CREATE STAGE
다음 예에 표시된 것처럼 GRANT <권한> 명령을 사용하여 역할에 이러한 권한을 부여합니다.
GRANT USAGE ON SCHEMA mydb.myschema TO ROLE myrole; GRANT USAGE ON DATABASE mydb TO ROLE myrole; GRANT CREATE STREAMLIT ON SCHEMA mydb.myschema TO ROLE myrole; GRANT CREATE STAGE ON SCHEMA mydb.myschema TO ROLE myrole;
Streamlit 앱을 보는 데 필요한 권한¶
Streamlit 앱을 보려면 Snowflake 계정이 있고 계정에 로그인되어 있어야 합니다. 또한 계정에 다음 권한이 부여되어 있어야 합니다.
사용자 계정에 CREATE STREAMLIT 전역 권한을 부여해야 합니다.
애플리케이션이 포함된 데이터베이스 및 스키마에 대해 USAGE 오브젝트 수준 권한을 사용자 계정에 부여해야 합니다.
앱 편집자와 Streamlit 앱이 포함된 스키마의 소유자는 앱 사용 권한을 가진 역할을 결정할 수 있습니다. 사용자는 앱과 상호 작용할 수 있으며 Streamlit 앱에 표시되는 모든 것을 볼 수 있습니다. 사용자는 소유자와 동일한 앱 뷰를 갖습니다.
자세한 내용은 Streamlit 앱 공유하기 섹션을 참조하십시오.
지원되는 Streamlit 라이브러리 버전¶
Streamlit in Snowflake 는 Streamlit 라이브러리 v1.22.0을 지원합니다. Streamlit 라이브러리의 최신 버전에 대한 지원은 최신 버전이 출시될 때 포함될 예정입니다.
지원되는 외부 패키지¶
기본적으로 Streamlit in Snowflake 에는 사용자 환경에 미리 설치된 python
, streamlit
, snowflake-snowpark-python
패키지가 포함됩니다. 또한 이 환경은 이러한 패키지에 필요한 종속성에 액세스할 수 있습니다.
Streamlit 앱에 추가 패키지를 설치할 수 있습니다. 지원되는 패키지 목록은 Snowflake Anaconda 채널 을 참조하십시오.
Streamlilt 앱에 지원되는 패키지를 포함하는 방법에 대한 자세한 내용은 다음 항목을 참조하십시오.
Streamlit in Snowflake 에 대한 동시성 고려 사항¶
Streamlit in Snowflake 는 Streamlit 앱에 대한 수요 증가 기간을 다루기 위해 Snowflake 내에서 세션 제한 및 자동 크기 조정 기능을 제공합니다. Streamlit in Snowflake 는 클라우드 서비스 인스턴스와 가상 웨어하우스 인스턴스의 조합을 사용합니다. 자세한 내용은 주요 개념과 아키텍처 섹션을 참조하십시오.
Snowflake의 무결성을 유지하기 위해 Streamlit in Snowflake 는 클라우드 서비스 인스턴스가 처리할 수 있는 동시 Streamlit 세션 수에 인스턴스별, 계정별, 사용자별 제한을 적용합니다. Streamlit 세션은 모든 인스턴스가 동시 세션 제한에 도달할 때까지 이러한 인스턴스 간에 로드 밸런싱됩니다. 제한에 도달하면 추가 세션을 지원하기 위해 인스턴스 크기가 자동으로 조정됩니다.
참고
Streamlit 앱 사용자의 요청이 일시적으로 제한될 수 있습니다. 자동 크기 조정이 시작되면 사용자에게 《잠시 기다려 주십시오》라는 메시지가 표시될 수 있습니다.
Streamlit in Snowflake 에 대한 청구 고려 사항¶
Streamlit in Snowflake 에서는 Streamlit 앱을 실행하고 SQL 쿼리를 수행하는 데 가상 웨어하우스 가 필요합니다. Streamlit 앱을 실행하려면 앱 자체와 앱의 쿼리를 모두 실행할 단일 가상 웨어하우스를 선택해야 합니다. 이 웨어하우스는 앱의 웹 소켓 연결이 활성화되어 있는 동안 활성 상태로 유지됩니다. Streamlit 앱의 가상 웨어하우스를 활성 상태로 유지하는 웹 소켓 연결은 앱을 마지막으로 사용한 지 약 15분 후에 만료됩니다.
크레딧을 절약하려면 가상 웨어하우스를 일시 중단할 수 있습니다. 또는 앱을 실행 중인 웹페이지를 닫으면 실행 중인 가상 웨어하우스를 자동으로 일시 중단할 수 있습니다.
Streamlit in Snowflake 에서 웨어하우스를 선택할 때의 지침¶
Streamlit in Snowflake 에서 Streamlit 앱을 실행하면 Streamlit 앱의 복잡성, 웨어하우스 가용성, 대기 시간, 비용을 비롯한 여러 요소가 성능에 영향을 미칠 수 있습니다. 다음 섹션에서는 Streamlit in Snowflake 에서 가상 웨어하우스를 사용하기 위한 일반적인 지침을 제공합니다.
더 작은 웨어하우스 사용하기¶
Streamlit in Snowflake 에서 Streamlit 앱을 실행할 때 가능한 한 가장 작은 웨어하우스를 선택해야 합니다.
실행 시 웨어하우스는 Streamlit 앱에서 사용하는 Python 패키지의 캐시를 유지합니다. Python 패키지를 캐싱하면 패키지를 다시 다운로드하는 대신 캐시된 버전의 패키지를 사용하여 이후의 앱 로딩 시 성능이 향상됩니다. 웨어하우스가 일시 중단되면 캐시가 제거되며, 이로 인해 웨어하우스가 재개된 후 처음에 앱 로딩 속도가 느려질 수 있습니다. 재개된 웨어하우스가 더 많은 앱을 계속 실행함에 따라 패키지 캐시가 다시 작성되며 캐시를 활용할 수 있는 앱의 앱 로딩 성능이 향상됩니다.
초당 크레딧 청구 및 자동 일시 중단 덕분에 융통성 있게 작은 웨어하우스로 시작한 다음 Streamlit 앱의 워크로드에 맞게 웨어하우스 크기를 조정할 수 있습니다. 웨어하우스의 크기는 언제든지 늘릴 수 있습니다. 자세한 내용은 Streamlit 앱의 웨어하우스 변경하기 섹션을 참조하십시오.
전용 웨어하우스 사용하기¶
Streamlit in Snowflake 를 사용할 때는 Streamlit 앱 실행을 위한 전용 웨어하우스를 사용하는 것이 좋습니다. 이를 통해 Streamlit 앱 실행 비용을 분리할 수 있습니다. 전용 웨어하우스는 다른 워크로드를 관리할 필요가 없으므로 앱 로드 시간을 개선할 수도 있습니다.
자세한 내용은 웨어하우스 고려 사항 섹션을 참조하십시오.