Snowflake CLI 소개

Snowflake CLI 의 오픈 소스 특성상 개발자는 커뮤니티의 집단적 지식과 기여를 활용하여 도구를 개선하고 강화할 수 있습니다. Snowflake CLI 를 사용하면 개발자는 새롭고 혁신적인 방식으로 Snowflake를 사용하여 작업할 수 있는 간소화되고 효율적인 환경을 기대할 수 있습니다. Snowflake CLI 는 개발자가 워크플로를 간소화하고 Snowflake 환경을 최적화하는 데 도움이 되는 강력하고 유연한 도구입니다.

Snowflake CLI 는 명령줄 인터페이스(CLI)로, 개발자에게 다음과 같은 여러 가지 이점을 제공합니다

  • 속도와 효율성

    CLI를 사용하면 개발자는 그래픽 사용자 인터페이스 없이도 터미널에서 명령을 실행하여 빠르고 효율적으로 작업을 수행할 수 있습니다. 이를 통해 개발자는, 특히 반복적이거나 복잡한 작업을 수행할 때, 상당한 시간과 노력을 절약할 수 있습니다.

  • 자동화

    CLI는 애플리케이션 빌드, 테스트, CI/CD, 배포와 같은 작업과 워크플로를 자동화할 수 있습니다. CLI를 사용하면 개발자가 개발 프로세스를 간소화하고 오류나 불일치의 위험을 줄일 수 있습니다.

  • 이식성

    CLI는 플랫폼에 독립적인 경우가 많으며 다양한 운영 시스템과 환경에서 사용할 수 있습니다. 개발자는 여러 프로젝트에서 더욱 쉽게 작업할 수 있고, 다른 시스템을 사용하는 사람들과 공동 작업할 수도 있습니다.

  • 버전 관리

    CLI를 Git과 같은 버전 제어 시스템과 통합하여 변경 사항을 관리하고 코드 기록을 추적하면 개발자가 보다 효과적으로 협업하고 충돌을 해결하며 변경 사항을 적절하게 문서화할 수 있습니다.

  • 사용자 지정

    CLI는 모듈과 스크립트를 사용하여 사용자 지정 및 확장할 수 있으므로 개발자는 자신의 필요와 선호도에 맞게 조정할 수 있습니다. 일반적인 작업과 워크플로를 자동화하면 개발자가 더욱 효율적이고 효과적으로 작업하는 데 도움이 될 수 있습니다.

  • 액세스 용이성

    CLI는 원격으로 액세스할 수 있으므로 개발자는 그래픽 인터페이스 없이도 서버 및 기타 원격 시스템에서 작업할 수 있습니다.

Snowflake CLI 와 SnowSQL의 차이점은 무엇입니까?

SnowSQL은 Snowflake에 연결하여 SQL 쿼리를 실행하고 데이터베이스 테이블의 데이터 로드 및 데이터 언로드 등 모든 DDL 및 DML 작업을 수행하기 위한 명령줄 클라이언트입니다.

반면 Snowflake CLI 명령줄 클라이언트는 주로 Snowflake에 연결되는 워크로드 및 애플리케이션 관리에 중점을 둡니다. Snowflake CLI 를 사용하면 다음과 같은 이점과 함께 Snowflake 앱을 로컬에서 실행하고 디버그를 수행할 수 있습니다.

  • Anaconda에서 아직 지원되지 않을 수 있는 Python 패키지를 검색, 생성 및 업로드할 수 있습니다.

  • Snowflake CLI 는 Snowpark Python 사용자 정의 함수와 저장 프로시저, 웨어하우스, Streamlit 앱을 지원합니다.

  • requirements.txt 를 사용하여 패키지를 정의할 수 있으며, 배포 시 Anaconda와의 통합을 통해 종속성이 자동으로 추가됩니다.

  • Snowflake CLI 에는 requirements.txt 에서 식별되었지만, 아직 Anaconda에는 없는 패키지가 Snowflake에 배포된 애플리케이션 패키지에 포함될 수 있습니다. (이 기능은 네이티브 라이브러리를 사용하지 않는 패키지에서만 동작합니다).

  • 기존 애플리케이션을 업데이트하면 필요에 따라 코드와 종속성이 자동으로 변경됩니다.

  • 배포 아티팩트는 자동으로 관리되고 Snowflake 스테이지에 업로드됩니다.

Snowflake는 개발자에게 새로운 오픈 소스 CLI에서 모든 SnowSQL 기능을 활용할 수 있는 강력한 도구를 제공하기 위해 Snowflake CLI 를 지속적으로 개선해 나갈 계획입니다.