Snowsight에서 워크시트 관리 및 사용하기

워크시트는 SQL 쿼리 또는 Python 코드를 실행할 뿐 아니라 다른 Snowflake 데이터 로딩, 정의, 조작 작업을 수행하기 위한 강력하고 다목적으로 활용 가능한 방법을 제공합니다.

Snowsight 에서 워크시트를 연 후 다음 중 하나를 수행할 수 있습니다.

또한 SQL 문을 작성 하고 결과를 시각화 할 수 있습니다. Python 코드를 작성 할 수도 있습니다.

워크시트에서 다른 워크시트 찾아보기

워크시트를 열면 Worksheets 탐색기에서 다른 워크시트를 볼 수 있습니다. Worksheets 탐색기에서 다른 워크시트를 검색하고 워크시트를 관리할 수 있습니다.

워크시트 내용 미리 보기

워크시트의 내용을 미리 보려면 Worksheets 탐색기에서 워크시트의 이름을 커서로 가리키면 됩니다. 미리 보기에는 워크시트 실행에 사용되는 역할도 표시됩니다.

미리 보기에서 워크시트의 내용을 복사할 수도 있습니다. 워크시트 내용 미리 보기를 커서로 가리키고 이때 나타나는 Copy 버튼을 선택합니다.

바로 가기 키로 워크시트 업데이트하기

Snowsight 는 워크시트에서 쿼리를 빠르게 탐색하고 편집하는 데 도움이 되는 바로 가기 키를 제공합니다. 예를 들어 바로 가기 키를 사용하여 워크시트 내에서 커서를 이동하고, 찾기 및 바꾸기를 수행하고, 행을 복사하고, 쿼리 형식을 지정하는 등의 작업을 수행할 수 있습니다.

사용 가능한 바로 가기 키를 전부 보려면 워크시트를 열고 Mac 키보드에서는 [CMD]+[SHIFT]+[?], Windows 키보드에서는 [CTRL]+[SHIFT]+[?] 를 누르십시오.

워크시트의 탭을 마우스로 가리키고 워크시트에 대한 추가 작업 를 선택한 다음, Show Shortcuts 를 선택하여 바로 가기를 볼 수도 있습니다.

워크시트의 세션 컨텍스트 변경하기

워크시트의 내용을 실행하는 데 사용할 역할과 웨어하우스를 정의하려면 워크시트의 세션 컨텍스트를 설정하십시오. 워크시트 컨텍스트는 향후 세션을 위해 보존됩니다.

참고

여러 역할을 선택할 수는 없습니다. 컨텍스트 선택기는 보조 역할을 지원하지 않습니다. SQL 워크시트에서 보조 역할을 활성화하려면 USE SECONDARY ROLES 를 실행하십시오.

워크시트의 역할 컨텍스트는 역할에 부여된 액세스 제어 권한에 따라 Snowflake 오브젝트에서 수행할 수 있는 작업을 결정합니다.

워크시트의 세션 컨텍스트를 설정하려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  3. 워크시트를 엽니다.

  4. 컨텍스트 선택기를 엽니다.

  5. 워크시트를 실행할 역할을 선택합니다.

  6. 해당 역할에 사용할 권한이 있는 웨어하우스를 선택합니다.

  7. 드롭다운 외부의 아무 곳이나 선택하면 컨텍스트 선택기가 닫힙니다.

참고

각 워크시트는 고유한 세션이며 계정 메뉴에서 선택한 역할(자신의 활성 역할)과 다른 역할을 사용할 수 있습니다. 활성 역할을 변경해도 컨텍스트 선택기가 있는 워크시트에 할당된 역할은 변경되지 않습니다.

웨어하우스 다시 시작 및 크기 조정하기

워크시트를 실행하기 전후에 웨어하우스를 재개하거나 크기를 조정해야 할 수도 있습니다.

웨어하우스 세부 정보를 변경하려면 웨어하우스에 대한 MODIFY 또는 OWNERSHIP 권한이 있어야 합니다.

컨텍스트 선택기를 사용하여 웨어하우스 세부 정보를 보고 조정하려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  3. 워크시트를 엽니다.

  4. 컨텍스트 선택기를 엽니다.

  5. Show warehouse details 아이콘을 선택합니다.

  6. Status 옵션의 경우 상태를 선택하고 웨어하우스가 일시 중단된 경우 Resume 을 선택합니다.

  7. Size 옵션의 경우 크기를 선택하고 다른 크기를 선택합니다.

  8. 드롭다운 외부의 아무 곳이나 선택하면 컨텍스트 선택기가 닫힙니다.

열린 워크시트 관리하기

워크시트를 연 후 워크시트의 탭을 마우스로 가리키면 나타나는 워크시트에 대한 추가 작업 을 선택하여 다음과 같은 방법으로 열려 있는 워크시트를 관리합니다.

워크시트가 열려 있을 때 Worksheets 탐색기에서 다른 워크시트를 보고 관리할 수도 있습니다.

  • 다른 워크시트를 검색합니다.

  • 워크시트 이름을 마우스로 가리킬 때 나타나는 추가 옵션 을 사용하여 워크시트의 이름 바꾸기, 복제, 삭제 또는 이동을 수행합니다.

  • 워크시트 아이콘을 사용하여 탭에서 열려 있는 워크시트를 식별합니다. 아이콘이 채워져 있으면 탭에서 워크시트가 열려 있다는 의미입니다.

폴더에서 워크시트 구성하기

Snowsight 를 사용하여 폴더에서 워크시트를 구성하고 관리할 수 있습니다.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택합니다.

  3. 워크시트를 선택하여 엽니다.

  4. 워크시트의 탭을 마우스로 가리키고 워크시트에 대한 추가 작업 을 선택합니다.

  5. 드롭다운 목록에서 Move 를 선택한 다음 워크시트를 이동할 폴더 또는 대시보드를 선택하거나 새로 생성합니다.

워크시트 및 폴더 공유하기

자신의 계정에 있는 다른 Snowflake 사용자와 워크시트와 워크시트 폴더를 공유할 수 있습니다. 이전에 Snowsight 에 로그인한 사용자와만 워크시트를 직접 공유할 수 있습니다. 아직 Snowsight 에 로그인하지 않은 사람과 공유하려면 대신에 링크를 공유하십시오.

워크시트 또는 워크시트 폴더를 공유하면 해당 워크시트에서 동료와 공동 작업을 수행할 수 있고, 공유 워크시트의 수신자가 워크시트 내용을 편집 또는 확인하거나, 결과를 확인하거나, 워크시트를 실행하거나, 공유 워크시트를 복제할 수 있습니다. 공유 워크시트에 대한 권한 섹션을 참조하십시오.

공유 워크시트에 대한 권한

워크시트를 다른 사람과 공유할 때 다른 사용자에게 부여할 권한을 선택하여 워크시트와 워크시트의 내용에 대한 액세스를 관리할 수 있습니다. 이러한 권한은 대시보드 공유 에도 사용됩니다. 워크시트 소유자는 워크시트 편집자와 동일한 권한을 갖습니다.

Snowsight 의 각 워크시트에서는 워크시트의 컨텍스트에서 할당된 특정 역할 및 웨어하우스와 함께 고유한 세션을 사용합니다. 워크시트 역할 은 워크시트를 실행하려고 마지막으로 사용한 기본 역할 이며 워크시트를 실행하는 데 필수적입니다. 워크시트 소유자 또는 편집자가 다른 역할을 사용하여 워크시트를 실행하는 경우 워크시트 역할이 변경될 수 있습니다.

이전 워크시트 버전의 결과를 보려면 결과를 생성한 SQL 문을 실행하는 데 사용된 워크시트 역할이 있어야 합니다. 워크시트의 과거 실행 결과 보기 섹션을 참조하십시오.

부여된 권한

수신자가 수행할 수 있는 작업

편집

  • 워크시트 내용 편집.

  • 워크시트 실행(워크시트를 다른 역할로 실행하는 것도 포함).

  • 워크시트의 과거 버전 보기.

  • 결과를 생성하는 데 사용된 역할이 있는 경우 워크시트의 과거 버전에 대한 결과 보기.

  • 다른 사람과 워크시트 공유.

  • 워크시트의 과거 버전 보기.

  • 다른 폴더에 워크시트 추가.

보기 + 실행

  • 워크시트 역할이 있는 경우:

    • 워크시트 실행.

    • 최신 워크시트 버전의 결과 보기.

  • 워크시트 내용 보기.

  • 자신의 역할을 사용하여 워크시트 복제 및 실행.

결과 보기

  • 워크시트 역할이 있는 경우 가장 최근 워크시트 버전의 결과 보기.

  • 워크시트 내용 보기.

  • 자신의 역할을 사용하여 워크시트 복제 및 실행.

보기 + 실행을 포함한 링크

  • 워크시트 역할이 있는 경우:

    • 워크시트 실행.

    • 최신 워크시트 버전의 결과 보기.

  • 워크시트 내용 보기. 링크가 있는 사용자가 워크시트를 복제하고 실행할 수는 없습니다.

결과 보기를 포함한 링크

  • 워크시트 역할이 있는 경우 가장 최근 워크시트 버전의 결과 보기.

  • 워크시트 내용 보기. 링크가 있는 사용자가 워크시트를 복제하고 실행할 수는 없습니다.

워크시트 소유자는 해당 워크시트를 만든 사용자이며 워크시트 편집자와 동일한 권한을 갖습니다. 워크시트 소유자나 편집자가 다른 사용자가 소유한 폴더에 워크시트를 추가하면 워크시트 소유자가 변경됩니다.

워크시트 소유자가 Snowflake에서 삭제될 경우 삭제된 사용자가 그대로 워크시트의 소유자로 남지만 편집 권한이 있는 사용자는 계속해서 워크시트를 사용할 수 있습니다. 삭제된 사용자가 소유한 워크시트를 복구하려면 삭제된 사용자가 소유한 워크시트 복구하기 섹션을 참조하십시오.

워크시트의 과거 실행 결과 보기

워크시트에 대한 액세스 권한이 있는 모든 사용자는 가장 최근 워크시트 실행 결과를 확인할 수 있습니다.

워크시트의 과거 실행 결과를 보려면 다음 사항이 충족되어야 합니다.

워크시트의 쿼리 기록을 보면 과거 워크시트 실행 결과를 확인할 수 있습니다. 쿼리 기록 보기 섹션을 참조하십시오.

조심

워크시트를 공유하면 결과의 캐시된 버전도 공유합니다. 워크시트가 마스킹 또는 행 액세스 정책으로 보호되는 데이터를 쿼리하는 경우 또는 사용자에 대해 보조 역할을 활성화한 경우 캐시된 결과에는 사용자에게만 표시되는 결과가 포함될 수 있습니다. 공유 워크시트의 수신자에게는 해당 결과를 생성할 권한이 없을 수도 있지만 워크시트 역할이 있는 경우 캐시된 모든 결과를 볼 수 있습니다.

워크시트 공유하기

워크시트를 공유하려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  3. 워크시트를 엽니다.

  4. 워크시트의 오른쪽 위 모서리에서 Share 를 선택합니다.

  5. 워크시트를 사용하도록 초대할 Snowflake 사용자의 이름 또는 사용자 이름을 입력합니다. 목록에는 이전에 Snowsight 에 로그인한 사용자만 표시됩니다. 아직 Snowsight 에 로그인하지 않은 사람과 공유하려면 대신에 링크를 공유하십시오.

  6. 워크시트를 공유하는 사용자에게 부여할 권한 을 선택합니다.

  7. 선택 사항으로, 워크시트 링크가 있는 사용자가 액세스할 수 있는 권한을 설정합니다.

  8. 선택적으로, Get Link 를 선택하여 다른 사람과 공유할 수 있는 워크시트로 연결되는 링크를 가져올 수 있습니다.

  9. Done 을 선택합니다.

참고

가장 최근에 실행된 워크시트 버전은 공유된 워크시트 버전입니다. 아직 워크시트를 실행하지 않은 경우 빈 워크시트가 공유됩니다.

워크시트의 편집자 또는 소유자인지 여부에 관계없이 워크시트 버전에 대한 모든 편집 내용은 워크시트 코드의 일부 또는 전부를 실행해야 공동 작업자에게도 표시됩니다.

워크시트 폴더 공유하기

폴더의 모든 워크시트를 포함한 폴더를 공유하려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  3. 폴더를 엽니다.

  4. Share 를 선택합니다.

  5. 폴더로 초대할 Snowflake 사용자의 이름 또는 사용자 이름을 입력합니다. 목록에는 이전에 Snowsight 에 로그인한 사용자만 표시됩니다. 아직 Snowsight 에 로그인하지 않은 사람과 공유하려면 대신에 링크를 공유하십시오.

  6. 폴더를 공유하는 사용자에게 부여할 권한 을 선택합니다.

  7. 선택 사항으로, 폴더 링크가 있는 사용자가 액세스할 수 있는 권한을 설정합니다.

  8. 선택적으로, Get Link 를 선택하여 다른 사람과 공유할 수 있는 폴더로 연결되는 링크를 가져올 수 있습니다.

  9. Done 을 선택합니다.

공유 폴더에 워크시트를 추가하면 워크시트가 폴더의 공유 설정을 상속합니다. 워크시트 소유자가 아닌 다른 사람이 폴더를 소유한 경우 워크시트를 소유한 사용자는 폴더 소유자로 변경되고 원래 워크시트 소유자는 폴더에서 공유 권한을 상속합니다.

예를 들어 워크시트 소유자가 편집 권한이 있는 폴더에 워크시트를 추가할 경우 워크시트는 폴더 소유자가 소유한 것으로 업데이트되고 원래 워크시트 소유자는 워크시트에 대한 편집 권한을 갖게 됩니다.

계정 간 워크시트 공유하기

워크시트는 Snowflake 오브젝트가 아니므로 계정 간에 복제하거나 공유할 수 없습니다. 워크시트의 내용을 다른 Snowflake 계정의 사용자와 공유하려면 내용을 복사하여 Snowflake 외부 계정의 사용자와 공유하십시오.

워크시트 기록 및 버전 관리하기

변경 작업을 하고 SQL 쿼리이나 코드를 워크시트에서 실행하면 새 버전의 워크시트가 저장됩니다.

워크시트를 변경하고 워크시트 버전을 관리할 때 다음 사항을 고려하십시오.

  • 워크시트를 다른 사용자와 공유하면 편집 권한을 가진 사용자는 워크시트의 과거 버전을 볼 수 있습니다. 워크시트를 함께 공유하는 모든 사용자가 가장 최신 버전의 워크시트에 대한 결과를 볼 수 있습니다.

  • 권한이 있는 사람이 워크시트를 실행할 때마다 새 버전의 워크시트가 저장됩니다.

  • 워크시트를 변경했는데 해당 워크시트가 사라진 것 같으면 버전 기록을 사용하여 변경 내용을 포함하여 저장된 초안을 여십시오.

  • 공동 작업자에게는 가장 최근에 실행된 워크시트 버전이 표시됩니다.

  • 워크시트를 공유한 사용자에게 표시되도록 워크시트를 변경하는 경우 워크시트를 실행해야 합니다.

  • 여러 사용자가 동시에 공유 워크시트를 편집하고 실행하는 경우 워크시트를 실행할 때마다 새 버전이 생성됩니다. 워크시트를 열거나 새로 고치면 가장 최근에 실행된 워크시트 버전이 표시됩니다.

워크시트 버전 전환하기

과거 버전의 워크시트를 보려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  3. 워크시트를 엽니다.

  4. 워크시트의 Code Versions 을 선택합니다.

  5. 워크시트 버전의 목록에서 보려는 버전의 타임스탬프를 선택합니다.

  6. 해당 버전에 대한 워크시트 세부 정보를 검토하고 선택적으로 복사합니다.

  7. 워크시트의 현재 버전으로 돌아가려면 Close 를 선택합니다.

과거 워크시트 실행 결과를 보려면 해당 워크시트의 쿼리 기록을 확인하십시오. 쿼리 기록 보기 섹션을 참조하십시오.

과거 워크시트 버전에 대해 저장된 결과

워크시트에서 실행된 쿼리의 결과는 최대 90일 또는 25개의 워크시트 버전 중 더 큰 결과에 대해 캐시됩니다. 이 캐시는 계정의 데이터 저장소 사용에 포함됩니다.

삭제된 사용자가 소유한 워크시트 복구하기

사용자를 삭제하면 해당 사용자가 소유한 워크시트를 최대 500개까지 복구할 수 있습니다. 워크시트를 복구하려면 다음을 수행하십시오.

  1. 삭제된 사용자가 소유한 복구된 워크시트를 다운로드합니다.

  2. SQL 파일에서 워크시트를 생성하여 복구된 워크시트를 Snowflake에 다시 추가합니다.

사용자를 삭제하기 전에 소유권을 변경하거나 워크시트에 대한 액세스 권한을 유지하려면 해당 사용자에게 워크시트를 공유하도록 요청하십시오. 워크시트 및 폴더 공유하기 섹션을 참조하십시오.

삭제된 사용자가 소유한 복구된 워크시트 다운로드하기

삭제된 사용자가 소유한 워크시트를 복구하려면 해당 사용자가 소유한 최대 500개의 워크시트로 구성된 .tar.gz 보관 파일을 다운로드하십시오.

참고

삭제된 사용자의 워크시트를 복구하려면 ACCOUNTADMIN 역할을 부여받아야 합니다.

  1. Snowsight 에 로그인합니다.

  2. Projects » Worksheets 를 선택합니다.

  3. 추가 옵션 » Recover Worksheets from Dropped User 를 선택합니다.

  4. 대화 상자에 계정에서 삭제된 사용자의 사용자 이름을 입력합니다.

    중요

    사용자 이름의 대/소문자 및 철자는 Snowflake에 저장된 사용자 이름과 정확히 일치해야 합니다.

  5. Recover 를 선택합니다.

    웹 브라우저는 최대 500개의 워크시트가 포함된 .tar 파일을 다운로드합니다. 삭제된 사용자에게 500개 이상의 워크시트가 있는 경우 가장 최근에 수정된 워크시트 500개만 다운로드됩니다.

삭제된 사용자가 소유한 워크시트를 다운로드한 후 SQL 파일에서 워크시트를 생성하여 복구된 워크시트를 Snowsight 에 추가하십시오.

복구된 워크시트를 Snowsight 에 추가하려면 먼저 다운로드한 .tar 파일을 .sql 파일 폴더로 확장해야 합니다. Snowsight 에는 한 번에 하나의 워크시트만 추가할 수 있으며, 복구된 워크시트를 Snowsight 에 추가하는 사용자가 워크시트의 새 소유자가 됩니다.

자세한 내용은 SQL 파일에서 워크시트 만들기 섹션을 참조하십시오.

삭제된 사용자가 소유한 워크시트 복구에 대한 고려 사항

워크시트 복구 시 고려 사항:

  • 가장 최근에 실행된 워크시트 버전의 제목과 내용만 복구됩니다. 워크시트 버전 기록, 수신자 및 권한 공유, 쿼리 결과, 워크시트 메타데이터는 복구되지 않습니다.

  • 최대 500개의 워크시트가 복구됩니다. 500개 이상의 워크시트가 있는 삭제된 사용자의 경우 가장 최근에 수정된 워크시트 500개만 복구됩니다.

  • Snowsight 의 워크시트만 복구됩니다. 삭제된 사용자가 소유한 Classic Console 의 워크시트는 이 방법으로 복구할 수 없습니다.

  • 삭제된 여러 사용자의 사용자 이름이 동일한 경우 해당 사용자 이름을 가진 삭제된 모든 사용자가 소유한 워크시트가 복구됩니다.

예기치 않은 이유로 워크시트 복구가 실패하면 Snowflake 지원 에 문의하십시오.

워크시트용 내부 Snowflake 오브젝트

Snowflake는 Snowsight 에서 워크시트 사용을 지원하기 위해 다음과 같은 내부 오브젝트를 만듭니다.

오브젝트 타입

이름

보안 통합

WORKSHEETS

Blob

WORKSHEETS_APP

데이터베이스

WORKSHEETS_APP

사용자

WORKSHEETS_APP_USER

역할

APPADMIN, WORKSHEETS_APP_RL

이러한 내부 오브젝트는 계정의 내부 스테이지에서 쿼리 결과를 캐시하기 위해 사용됩니다. 이 캐시된 데이터는 계정의 키 계층 구조에 의해 암호화되고 보호됩니다.

내부 역할에 부여된 제한된 권한은 Snowsight 가 이러한 결과를 저장하기 위해 내부 스테이지에 액세스하는 것만 허용합니다. 역할은 계정의 오브젝트를 나열하거나 테이블의 데이터에 액세스할 수 없습니다.

Snowsight 사용자 및 역할은 사용자가 SNOWFLAKE 공유 데이터베이스의 ACCOUNT_USAGE 스키마에서 각각 USERSROLES 뷰를 쿼리할 때 반환됩니다. SHOW <오브젝트> 문은 이러한 내부 오브젝트를 반환하지 않습니다.