워크시트를 사용하여 데이터 쿼리하기

워크시트를 만들거나 연 후에는 Snowsight 를 사용하여 워크시트를 관리하고, 쿼리를 작성 및 실행하고, 쿼리 결과와 기록을 탐색하고, 필터를 설정할 수 있습니다.

이 항목의 내용:

워크시트에 쿼리 작성하기

워크시트를 연 후 SQL 쿼리 및 문을 작성할 수 있습니다.

워크시트 컨텍스트 설정하기

데이터베이스 그리고 선택적으로 워크시트 컨텍스트로서 데이터베이스 스키마를 설정하면 쿼리에서 오브젝트 이름을 정규화하지 않고도 스키마의 오브젝트를 참조할 수 있습니다.

자동 완성으로 쿼리 작성하기

쿼리 편집기에 스크립트를 입력할 때 자동 완성 기능이 다음을 추천합니다.

  • SQL 함수 또는 별칭과 같은 쿼리 구문 키워드.

  • 스키마 내에서 테이블 또는 열 이름과 일치하는 값.

함수를 선택하면 그 구문과 간략한 설명을 볼 수 있습니다.

Snowflake는 테이블 별칭을 추적하고 자동 완성 옵션으로 제안을 제공합니다. 예를 들어 posts as p 또는 posts p 를 별칭으로 사용하여 쿼리를 실행하면 다음에 p 를 입력할 때 자동 완성 기능이 별칭을 옵션으로 제안합니다.

기존 워크시트에 SQL 스크립트 추가하기

파일에 SQL 스크립트가 있는 경우 다음을 수행하여 기존 워크시트에 스크립트를 추가할 수 있습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. 워크시트의 탭을 마우스로 가리키고 more actions for worksheet 을 선택한 다음 Import SQL from File 을 선택합니다.

  5. 컴퓨터에서 SQL 파일을 찾아봅니다.

    파일 내용이 워크시트에 추가됩니다.

워크시트에서 데이터베이스 오브젝트 이름 참조하기

워크시트에 쿼리를 작성하는 동안 Databases 탐색기에서 쿼리와 관련된 데이터베이스 오브젝트를 참조하십시오. 특정 데이터베이스 오브젝트로 드릴다운하거나 검색을 사용하여 액세스 권한이 있는 데이터베이스, 스키마 또는 오브젝트를 찾을 수 있습니다.

Databases 탐색기를 사용하여 빠르게 참조 가능하도록 데이터베이스와 데이터베이스 오브젝트를 고정할 수 있습니다. 데이터베이스 오브젝트를 커서로 가리킬 때 Pin 아이콘을 선택하여 고정합니다. 고정된 오브젝트는 Pinned 섹션의 Databases 탐색기 상단에 나타납니다. 고정된 오브젝트를 전부 보려면 섹션을 확장해야 할 수 있습니다.

데이터베이스 오브젝트를 찾은 후 편집 중인 워크시트에 오브젝트의 이름을 넣을 수 있습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. Databases 탐색기에서 데이터베이스 오브젝트를 찾습니다.

  5. 오브젝트 이름을 커서로 가리키고 더 보기 메뉴 » Place Name in Editor 를 선택합니다.

    워크시트에서 커서 위치 뒤에 정규화된 오브젝트 이름이 나타납니다.

데이터베이스 테이블과 뷰의 경우 편집 중인 워크시트에 열 이름을 추가할 수도 있습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. Databases 탐색기에서 데이터베이스 오브젝트를 찾습니다.

  5. 오브젝트 이름을 커서로 가리키고 더 보기 메뉴 » Add Columns in Editor 를 선택합니다.

    워크시트에서 커서 위치 뒤에 쉼표로 구분된 열 이름이 나타납니다.

쿼리 형식 지정하기

워크시트가 열리면 워크시트의 이름을 선택하여 워크시트에서 쿼리 형식을 지정하고 바로 가기 키를 볼 수 있습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. 워크시트의 탭을 마우스로 가리키고 more actions for worksheet 을 선택합니다.

  5. 드롭다운 목록에서 Format query 를 선택하여 가독성이 향상되도록 쿼리 텍스트의 형식을 지정합니다.

테이블에 데이터 로드하기

워크시트를 사용 중이고 작업할 일부 데이터를 추가하려는 경우 워크시트를 종료하지 않고 테이블에 데이터를 로드할 수 있습니다.

  1. Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Worksheets 를 선택합니다.

  3. 워크시트를 엽니다.

  4. Objects 를 선택하여 오브젝트 탐색기를 살펴봅니다.

  5. 검색 또는 찾아보기로 특정 테이블을 찾습니다.

  6. 특정 테이블 이름을 마우스로 가리키고 More options » Load Data 를 선택합니다.

  7. 프롬프트에 따라 50MB 이하의 정형 파일이나 비정형 파일을 하나 이상 업로드합니다.

자세한 내용은 웹 인터페이스를 사용하여 데이터 로드하기 섹션을 참조하십시오.

쿼리 실행하기

사용자는 동일한 워크시트에서 단일 쿼리 또는 여러 쿼리를 순차적으로 실행할 수 있습니다.

  • 단일 쿼리를 실행하려면 쿼리 편집기 링크에서 쿼리에 커서를 놓은 다음 Run 버튼을 선택하십시오.

  • 전체 워크시트를 실행하려면 Run 버튼 옆에 있는 More options 드롭다운 메뉴에서 Run All 을 선택하십시오.

폴더에서 워크시트 실행하기

폴더에는 더 이상 할당된 역할이 없습니다. 폴더에 있는 워크시트의 소유자 또는 편집자는 어떤 역할로든 실행하도록 워크시트를 변경할 수 있습니다. 폴더의 워크시트에 USE ROLE 을 추가하여 다른 역할로 워크시트의 다른 문을 실행할 수도 있습니다.

폴더 내부에 워크시트를 만들면 현재 세션의 역할로 워크시트가 생성됩니다.

참고

자신과 공유된 폴더에서 워크시트를 실행하려면 폴더에 대한 View and Run 또는 Edit 권한이 있더라도 워크시트와 동일한 역할을 사용해야 합니다. 동일한 역할이 없으면 워크시트를 복제하고 자신의 역할 중 하나로 실행하십시오.

워크시트 결과 탐색하기

워크시트에서 하나의 쿼리 또는 모든 쿼리를 실행하면 쿼리 결과가 표시됩니다.

쿼리 결과는 최대 10,000개의 행으로 구성된 테이블로 표시됩니다. 쿼리가 10,000개를 넘는 행을 반환하는 경우 모든 결과를 보려면 Download results 옵션을 사용하십시오.

스프레드시트를 사용할 때처럼 키보드의 화살표 키로 쿼리 결과를 탐색할 수 있습니다. 결과 테이블에서 열, 셀, 행 또는 범위를 선택할 수 있습니다. 어떤 선택 항목이든 복사하여 붙여넣을 수 있습니다.

결과를 차트로 보려면 Chart 를 선택하십시오. 차트에 대한 자세한 내용은 워크시트 데이터 시각화하기 섹션을 참조하십시오.

결과에는 모든 결과에 대한 전체 통계는 물론, 모든 선택 항목에 대한 컨텍스트 정보를 표시하는 생성된 통계도 포함됩니다. 쿼리가 10,000개 이상의 행을 반환하는 경우에도 통계에는 전체 결과 세트가 반영됩니다.

워크시트 결과 및 버전 기록에 대한 자세한 내용은 워크시트 기록 및 버전 관리하기 섹션을 참조하십시오.

자동 상황별 통계

결과 테이블에서 열, 셀, 행 또는 범위를 선택하여 결과 테이블 오른쪽에 있는 검사기 창에서 선택된 데이터에 대한 관련 정보를 볼 수 있습니다. 상황별 통계는 모든 열 타입에 대해 자동으로 생성됩니다. 통계의 목적은 데이터를 한 눈에 이해할 수 있도록 지원하는 것입니다.

열 개요에는 각 열에 대한 통계 미리 보기가 표시됩니다. 자세한 열 통계를 보려면 검사기 또는 열 헤더에서 열을 선택합니다.

통계 창은 다양한 타입의 열과 관련한 다양한 메트릭을 생성합니다. 통계 창에 있는 항목을 사용하여 상호 작용하고 필터링할 수 있습니다.

채워진/빈 측정기

모든 열은 채워진 행과 비어 있는 행의 수를 보여줍니다. 이메일 및 JSON 등과 같은 일부 데이터 타입을 표시하는 열도 잘못된 행의 수를 나타냅니다.

히스토그램

모든 날짜, 시간 및 숫자 열에 대해 표시됩니다.

히스토그램은 특정 범위에 속하는 행을 나타냅니다. 막대를 클릭하거나 히스토그램 위로 드래그하여 범위를 선택합니다. 히스토그램 위의 값 레이블을 클릭하여 특정 값을 입력해 선택 항목을 세부적으로 조정할 수 있습니다.

빈도 분포

모든 카테고리 열에 대해 표시됩니다. 카테고리 열은 동일한 값이 두 번 이상 사용되는 텍스트 열입니다.

이메일 도메인 분포

이메일 열에 표시됩니다. 이메일 도메인 분포는 도메인 이름 발생 빈도 분포를 보여줍니다.

키 분포

JSON 열에 표시됩니다. 키 분포는 모든 행에 JSON 오브젝트가 포함된 경우 결과 세트에 있는 상위 키의 빈도를 보여줍니다. 열에 JSON 배열이 포함된 경우 키 분포는 열에 있는 JSON 값의 상대적 타입을 보여줍니다.

뷰 쿼리 세부 정보

Query Details 는 다음을 비롯하여 쿼리 실행에 대한 정보를 포함합니다.

  • 쿼리 실행 기간.

  • 결과의 행 수.

  • 실행 완료 시점.

  • 쿼리로 스캔하는 데이터의 양.

  • 쿼리 실행에 사용되는 역할.

  • 쿼리 실행에 사용되는 웨어하우스.

일부 쿼리 세부 정보는 14일 동안만 사용할 수 있습니다.

쿼리 프로필 보기

쿼리의 자세한 프로필에 액세스하려면 Query Details 창에서 더 보기 메뉴 » View Query Profile 을 선택하십시오.

쿼리 프로필은 새 브라우저 탭에서 열립니다.

쿼리 결과 다운로드하기

쿼리 결과를 CSV 형식 또는 TSV 형식의 파일로 다운로드하려면 Download results 를 선택하십시오.

파일의 크기는 쿼리에서 반환된 데이터의 양에 따라 다릅니다. Snowflake는 쿼리 결과를 위해 내보낸 파일의 크기를 제한하지 않습니다.

쿼리 기록 보기

워크시트에서 SQL을 실행한 후 워크시트에서 실행된 쿼리 기록을 검토하여, 예컨대 다양한 쿼리 실행 결과 비교할 수 있습니다. 워크시트에 대한 쿼리 기록을 보려면 워크시트와 동일한 역할을 사용해야 합니다.

Results 창이 표시되면 Query history (Query history)를 선택하여 워크시트에서 실행된 쿼리뿐 아니라 해당 쿼리의 결과를 검토하십시오. 기록에는 현재 세션과 지난 90일간의 이전 세션 동안 해당 워크시트에서 실행된 최대 25개의 쿼리가 포함됩니다.

다음 정보를 검토할 수 있습니다.

  • 진행 중인 쿼리의 상태.

  • 쿼리가 실행된 시간.

  • 쿼리를 실행하는 데 걸린 시간(밀리초 또는 초).

  • 실행된 쿼리.

  • 쿼리 ID.

Results 창에서 해당 쿼리 실행의 결과를 보려면 행을 선택하십시오. Query history 에서 보는 쿼리를 실행하는 데 사용되는 기본 역할이 없으면 해당 쿼리의 결과를 볼 수 없습니다. 저장 프로시저 또는 Python 워크시트에서 생성된 하위 쿼리는 표시되지 않습니다.

상태, 웨어하우스 또는 기타 측면을 기준으로 워크시트의 쿼리 기록을 필터링하려면 다음을 수행하십시오.

  • 상태를 기준으로 쿼리 실행을 필터링합니다. 예를 들어 여전히 Running 또는 Queued 상태이고 아직 결과를 보여주지 않는 쿼리를 살펴보십시오.

  • 웨어하우스, 쿼리의 SQL 텍스트, 특정 쿼리 ID 또는 특정 기간보다 긴 지속 시간을 기준으로 필터링하려면 Query History Filter 을 선택하십시오.

쿼리 실행 행을 마우스로 가리켜 실행된 SQL 문의 전체 미리 보기를 확인하고, 쿼리 ID를 복사하고, 선택적으로 쿼리 실행에 대한 쿼리 세부 정보를 엽니다. 쿼리 세부 정보에 대한 자세한 내용은 Snowsight를 사용하여 쿼리 기록 검토하기 섹션을 참조하십시오.

워크시트에서 필터 사용하기

모든 역할에서 사용할 수 있는 시스템 필터는 다음과 같습니다.

  • :daterange

    열에 날짜 범위를 적용할 수 있습니다.

  • :datebucket

    시간 단위(예: 일)에 따라 집계 데이터를 그룹화할 수 있습니다.

또한, 관리자는 계정에서 사용할 사용자 지정 필터를 생성할 수 있습니다. 자세한 내용은 사용자 지정 필터 를 참조하십시오.

다음 예를 살펴보겠습니다.

SELECT
    COUNT(O_ORDERDATE) as orders, O_ORDERDATE as date
FROM
    SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.ORDERS
WHERE
    O_ORDERDATE = :daterange
GROUP BY
    :datebucket(O_ORDERDATE), O_ORDERDATE
ORDER BY
    O_ORDERDATE
Copy

이 예제에서는 다음을 수행합니다.

  • :daterange 시스템 필터를 WHERE 절에 포함합니다.

  • :datebucket 시스템 필터를 GROUP BY 절에 포함합니다.

쿼리에 필터를 포함하면 해당 필터 버튼이 워크시트 맨 위에 나타납니다.

When the filter buttons appear, they follow the show and hide filters button in the tab order.

이 예제에서는 Date bucket 필터를 day 로 설정하고 Date rangeAll time 으로 설정한다고 가정하겠습니다.

쿼리를 실행하면 결과가 일별로 그룹화됩니다. 새 날짜 범위를 선택하여 결과를 추가로 필터링할 수 있습니다.

The results table in this example includes two columns, orders and date. The orders column contains the aggregated number of orders on a given date.

사용자 지정 필터

사용자 지정 필터를 사용하면 쿼리를 직접 편집하지 않고도 쿼리 또는 시각화의 결과를 변경할 수 있습니다. 필터는 쿼리 실행에 사용되는 하위 쿼리 또는 값 목록으로 확인되는 특수 키워드로 구현됩니다.

페이지의 왼쪽 위 모서리에 있는 Show or Hide Filter 버튼을 사용하여 사용자 지정 필터를 표시하고 숨기고 관리할 수 있습니다.

권한을 부여하여 사용자 지정 필터 만들기

계정 관리자(ACCOUNTADMIN 역할이 있는 사용자)는 ACCOUNTADMIN 역할 자체를 포함하여 사용자 지정 필터를 생성하는 권한을 각 역할에 부여해야 합니다.

역할에 사용자 지정 필터를 만들 권한을 부여하는 방법은 다음과 같습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. Show or Hide Filter 버튼을 선택하고 Manage Filters 를 선택합니다.

  5. 이때 나타나는 대화 상자에서 Edit Permission 을 선택합니다.

  6. Filter Permissions 대화 상자에서 필터를 만들 권한을 부여하려는 역할을 선택합니다.

  7. Save 을 선택합니다.

사용자 지정 필터 만들기

사용자 지정 필터를 만드는 방법은 다음과 같습니다.

  1. Snowsight 에 로그인합니다.

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

  3. 워크시트를 엽니다.

  4. Show or Hide Filter 버튼을 선택하고 Manage Filters 를 선택합니다.

  5. 이때 나타나는 대화 상자에서 + Filter 를 선택합니다.

  6. 필터를 추가하려면 다음을 완료하십시오.

    Display Name

    다른 사용자에게 내부적으로 표시되는 필터의 이름.

    SQL Keyword

    쿼리에 삽입할 고유 키워드입니다. 공백을 사용하지 않고 :<문자열> 형식을 사용합니다. 예를 들어 :myfilter 과 같습니다.

    Description

    필터에 대한 설명입니다.

    Role

    쿼리에서 파생된 필터 값을 새로 고칠 때 사용되는 역할입니다.

    Warehouse

    쿼리에서 파생된 필터 값을 새로 고칠 때 사용되는 웨어하우스입니다.

    Options via

    필터 값이 쿼리 또는 항목별 목록에서 파생되는지 여부를 지정합니다.

  7. 필터에 옵션을 추가합니다.

  8. Save 을 선택합니다.