작업 공간에서 노트북 편집 및 실행하기

실행 컨텍스트 설정

작업 공간의 노트북은 데이터베이스나 스키마를 자동으로 설정하지 않습니다. 데이터를 쿼리하려면 다음 SQL 명령을 사용하여 셀에서 실행 컨텍스트를 정의해야 합니다.

USE DATABASE <database>;
USE SCHEMA <schema>;
Copy

노트북이 여러 환경과 클라이언트에서 일관되게 실행되도록 하려면 테이블 및 기타 오브젝트에 정규화된 이름을 사용합니다. 예:

-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;

-- Create a table using a fully qualified name
WITH filtered_events AS (
    SELECT
        user_id,
        event_type,
        event_timestamp
    FROM raw_events
    WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
Copy

역할 및 웨어하우스 선택기 사용

노트북 편집기의 왼쪽 상단에 있는 선택기를 사용하거나 다음 SQL 명령을 실행하여 활성 역할과 웨어하우스를 설정할 수 있습니다.

USE ROLE <role>;
USE WAREHOUSE <warehouse>;
Copy

쿼리 웨어하우스는 노트북에서 호출한 SQL 쿼리 및 Snowpark 푸시다운 컴퓨팅을 실행하는 데 사용됩니다. 또한 대화형 데이터그리드를 렌더링하는 데도 사용되지만, 이 작업에는 크레딧 요금이 부과되지 않습니다.

크레딧 사용에 대해 자세히 알아보려면 :ref:`컴퓨팅 설정하기<label-nb_in_ws_compute_setup>`를 참조하세요.

셀 실행

다음의 4가지 실행 옵션이 지원됩니다.

  • 모든 셀을 실행합니다.

  • 하나의 단일 셀 실행

  • 현재 셀 및 위의 모든 셀 실행(셀의 줄임표 메뉴를 통해).

  • 현재 셀 및 아래의 모든 셀 실행(셀의 줄임표 메뉴를 통해)

셀 실행 취소

노트북 상단의 :ui:`Stop`을 사용하거나 셀에서 :ui:`Cancel execution`을 사용합니다.

두 작업 모두 현재 실행 중인 셀 및 :ui:`Run all`에 의해 트리거된 큐에 있는 모든 셀을 중지합니다.

참고

노트북이 서비스에 연결되거나 재연결될 때 일시적으로 Run all 버튼이 :ui:`Stop`으로 변경될 수 있습니다.

셀 이름

셀에 이름을 할당하여 더 쉽게 탐색하고 상황에 맞는 레이블을 제공할 수 있습니다.

가져온 .ipynb 파일에 이미 이름 또는 제목 메타데이터가 포함된 경우 해당 값이 자동으로 사용됩니다.

셀 참조

양방향 SQL에서 Python 셀 참조를 사용하면 두 언어의 셀 간에 결과와 변수를 재사용할 수 있으므로 SQL 및 Python 워크플로 간에 원활하게 전환할 수 있습니다.

결과 도구 설명을 마우스로 가리키면 Python 및 SQL에서 결과를 참조하는 데 사용할 수 있는 DataFrame 이름을 확인할 수 있습니다.

셀 참조

SQL 셀 결과 참조하기

각 SQL 셀은 해당 결과를 :code:`dataframe_x`라는 이름의 pandas DataFrame 포인터로 노출합니다.

  • SQL에서 이중 중괄호를 사용하여 참조합니다({{dataframe_1}}).

  • Python에서는 pandas DataFrame으로 직접 참조합니다(dataframe_1).

Python 변수 참조하기

SQL 쿼리에서 Python 변수를 참조하려면 쿼리를 이중 중괄호로 묶습니다. 예:

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

SQL에서 Python 변수를 참조할 때 DataFrame 변수도 지원됩니다.

워크플로 예시

Python 셀

import pandas as pd

uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Copy

Python 변수를 참조하는 SQL 셀

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

SQL 셀 결과를 참조하는 SQL 셀

SQL 셀의 결과는 :code:`dataframe_1`이라는 이름의 DataFrame 포인터를 제공합니다. 다른 SQL 쿼리에서 참조할 수 있습니다.

SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
Copy

대화형 데이터그리드

데이터그리드는 다음을 지원합니다.

  • 스크롤링

  • 검색

  • 필터링

  • 정렬

  • 코드 없이 차트 생성

기본 제공 차트 빌더

작업 공간의 편집 화면 전반에서 데이터 조작 및 시각화를 위한 일관된 사용자 환경을 제공합니다.

미니맵 및 셀 상태

미니맵은 마크다운 헤더에서 목차를 생성하고 각 셀에 대한 포괄적인 세션 내 상태(실행 중, 성공, 실패, 수정됨)를 표시합니다.

노트북 커널

노트북 서비스가 RUNNING 상태에 있는 한, 노트북 커널은 활성 상태로 유지되어 ML 학습 및 데이터 엔지니어링 작업과 같이 중요한 장기 실행 프로세스를 중단 없이 실행할 수 있습니다.

커널 실행에 영향을 주지 않는 작업:

  • 다른 페이지로 이동하기

  • |sf-web-interface|의 다른 위치에서 작업하기

  • 브라우저 닫기

  • 컴퓨터 종료하기

Connected 드롭다운을 사용하여 커널을 종료하거나 다시 시작할 수 있습니다.

참고

Shut down kernel 또는 :ui:`Restart kernel`을 사용하면 메모리의 변수는 지워지지만 사용자가 설치한 패키지는 유지됩니다. 사전 설치된 패키지만 있는 완전히 깨끗한 환경을 원하는 경우 서비스를 다시 시작하거나 새 서비스를 생성하여 연결해야 합니다.

노트북 서비스가 일시 중단되면 노트북 커널도 종료됩니다. 자세한 내용은 :ref:`컴퓨팅 설정하기<label-nb_in_ws_compute_setup>`를 참조하세요.

Jupyter 매직

작업 공간의 노트북은 IPython(대화형 Python) 커널을 실행하며 표준 Jupyter 셀 및 라인 매직을 제공합니다. :code:`%lsmagic`을 실행하여 사용 가능한 매직을 확인합니다.

터미널 사용하기

터미널을 사용하여 다음을 수행할 수 있습니다.

  • 종속성 설치하기

  • 파일 관리하기

  • 병렬 작업 실행하기

  • 컴퓨팅 리소스 사용량 모니터링하기

터미널을 사용하려면 노트북 서비스에 연결되어 있어야 합니다. 다른 서비스로 전환하면 터미널 세션이 다시 시작됩니다.

컴퓨팅 리소스 사용량을 실시간으로 모니터링하기 위한 htop 설치 및 실행의 예제입니다.

# If installation fails, run `apt update` first
# Install `htop`
apt install htop

# Run `htop`
htop
Copy