[Snowflake] SnowSQL 설치

CHAN LIM·2023년 12월 28일
0

Snowflake

목록 보기
15/18
post-thumbnail

0. SnowSQL?

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

  • Snowflake의 작업을 수행할 수 있는 방법들 중 하나
  • Snowflake는 기본적으로 Web UI상에서 워크시트를 통해 동작할 수 있다.
    • 개인의 관점에서, 이 방법이 일반 사용자에게 직관적이고 사용하기 쉽다.
    • 특수한 환경이 아니라면, (VM 원격 등등)
      Web UI만으로 모든 상황에서 작업을 처리할 수 있다고 생각한다.
  • 특수한 환경 또는 CLI가 친숙한 사용자라면,
    SnowSQL이라는 명령줄 인터페이스로 Snowflake에 접속 후 사용할 수 있다.
  • 작성자는
    Ubuntu VM와 Snowflake를 연결하고 싶기 때문에 해당 과정을 수행한다.

1. SnowSQL 설치

  • Linux Ubuntu 기준
  • Snowflake 공식 문서를 바탕으로 작성하며,
    해당 문서에 첫번째로 작성된 다운로드 디렉터리 구성 및 파일 위치 설정에 대해서는 생략한다.
    • (패키지 설치 시, 자동으로 설정됨)

1.0 설치 과정

1. SnowSQL 설치 관리자 다운로드
2. 패키지 서명 확인하기
3. 설치 관리자를 사용하여 SnowSQL 설치하기
4. 동작 확인


1.1 SnowSQL 설치 관리자 다운로드

$ curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash
$ curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash.sig

$ wget -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash
$ wget -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash.sig
  • curl 또는 wget 명령어로 해당 경로에서 SnowSQL 설치 관리자를 설치한다.
  • <버전> 은 SnowSQL 주, 부 및 패치 버전의 조합합니다.
    예를 들어, 버전 1.2.3의 경우 주 버전은 1, 부 버전은 2, 패치 버전은 3입니다. 그러므로 버전은 1.2.3입니다.
  • <부트스트랩_버전> 은 SnowSQL 주 및 부 버전의 조합입니다.
    예를 들어, 버전 1.2.3의 경우 주 버전은 1, 부 버전은 2이므로 부트스트랩 버전은 1.2입니다.
  • 그리고, 다운로드 받은 bash 파일과 sig 파일은 같은 디렉터리에 있어야 합니다.
    • 다음 과정 때문에,

1.2 패키지 서명 확인하기

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
  • 다운로드 받은 파일들이 들어있는 디렉터리에서 해당 명령어를 실행한다.
# Verify the package signature.
$ gpg --verify snowsql-1.2.30-linux_x86_64.bash.sig snowsql-1.2.30-linux_x86_64.bash
  • 이후, 패키지 서명을 활성화한다.

    하는 이유...

    • 소프트웨어 배포 및 설치의 보안성을 확보하기 위한 중요한 요소

1.3 설치 관리자를 사용하여 SnowSQL 설치하기

$ bash snowsql-linux_x86_64.bash

$ SNOWSQL_DEST=~/bin SNOWSQL_LOGIN_SHELL=~/.profile bash snowsql-linux_x86_64.bash
  • bash 스크립트 설치 관리자를 실행한다.
    • 위의 명령어와 밑의 명령어의 차이점
      • 밑의 명령어는 환경 변수 설정까지 통합한 명령어.
      • 따라서, 직접 환경 변수를 설정하려면 위 명령어
        한번에 해결하려면 밑의 명령어를 입력하면 된다.

1.4 동작 확인

$ snowsql -v

$ cd /home/<username>/.snowsql/<설치 버전>
$ ./snowsql -v
  • SnowSQL 설치가 잘 완료되었는지 확인한다.
    • 환경변수가 문제없이 설정됬다면 위의 명령어로 확인이 가능하다.
    • 그렇지 않으면 밑의 명령어로 SnowSQL이 설치되었는지 확인하고 설정하면 된다.


2. 로그인까지

  • Snowflake에 접속하여,
    왼쪽 밑을 보면 사용자 계정을 볼 수 있다.
  • 해당 계정에서 위와 같이 접속하면 계정의 URL를 Copy할 수 있다.
# 만약 이렇게 생긴 계정 정보라면: 
# https://AB99999.eu-west-2.aws.snowflakecomputing.com
$ ./snowsql -a AB99999.eu-west-2.aws -u PSAMMY

# 만약 이렇게 생긴 계정 정보라면: 
# https://sgthsea-kf43267.snowflakecomputing.com
$ ./snowsql -a sgthsea-kf43267 -u PSAMMY
  • 위와 같이 개인 계정에 맞춰 명령어를 입력하면 접속할 수 있다.

2.1 SnowSQL 종료? 탈출법

To exit all connections and then quit/stop SnowSQL,
use the !quit command (or its alias, ! q ).
You can also type CTRL + d on your keyboard.


출처

공식문서
참고

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글