작업 공간에서 노트북 편집 및 실행하기¶
실행 컨텍스트 설정¶
작업 공간의 노트북은 데이터베이스나 스키마를 자동으로 설정하지 않습니다. 데이터를 쿼리하려면 다음 SQL 명령을 사용하여 셀에서 실행 컨텍스트를 정의해야 합니다.
USE DATABASE <database>;
USE SCHEMA <schema>;
노트북이 여러 환경과 클라이언트에서 일관되게 실행되도록 하려면 테이블 및 기타 오브젝트에 정규화된 이름을 사용합니다. 예:
-- 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;
역할 및 웨어하우스 선택기 사용¶
노트북의 활성 역할과 웨어하우스를 설정할 수 있습니다.
쿼리 웨어하우스는 노트북에서 호출한 SQL 쿼리 및 Snowpark 푸시다운 컴퓨팅을 실행하는 데 사용됩니다. 또한 대화형 데이터그리드를 렌더링하는 데도 사용되지만, 이 작업에는 크레딧 요금이 부과되지 않습니다.
크레딧 사용에 대해 자세히 알아보려면 :ref:`컴퓨팅 설정하기<label-nb_in_ws_compute_setup>`를 참조하세요.
Snowpark 세션 생성¶
Snowpark는 플랫폼 외부로 데이터를 이동하지 않고도 Snowflake 내에서 직접 데이터 파이프라인, 변환, 머신 러닝 논리를 구축할 수 있는 Snowflake 개발자 프레임워크입니다. Snowflake 데이터에서 DataFrames로 작동하는 APIs를 제공하여 확장성, 성능, 보안을 위해 계산을 Snowflake 엔진으로 푸시합니다.
Notebooks에서 :doc:`Snowpark Python APIs </developer-guide/snowpark/python/index>`를 사용하려면 먼저 Python 셀에서 Snowpark 세션을 생성합니다.
from snowflake.snowpark.context import get_active_session
session = get_active_session()
셀 실행¶
다음의 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;
SQL에서 Python 변수를 참조할 때 DataFrame 변수도 지원됩니다.
워크플로 예시¶
Python 셀
import pandas as pd
uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Python 변수를 참조하는 SQL 셀
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
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;
대화형 데이터그리드¶
데이터그리드는 다음을 지원합니다.
스크롤링
검색
필터링
정렬
코드 없이 차트 생성
기본 제공 차트 빌더¶
작업 공간의 편집 화면 전반에서 데이터 조작 및 시각화를 위한 일관된 사용자 환경을 제공합니다.
미니맵 및 셀 상태¶
미니맵은 마크다운 헤더에서 목차를 생성하고 각 셀에 대한 포괄적인 세션 내 상태(실행 중, 성공, 실패, 수정됨)를 표시합니다.
전역 검색 및 바꾸기¶
현재 노트북의 모든 셀에서 키워드를 검색할 수 있습니다. 특정 셀을 편집하는 경우 먼저 :kbd:`esc`를 눌러 해당 셀의 편집 모드를 종료합니다.
현재 노트북의 모든 셀에서 키워드를 검색하려면 다음을 수행합니다.
노트북 커널¶
노트북 서비스가 RUNNING 상태에 있는 한, 노트북 커널은 활성 상태로 유지되어 ML 학습 및 데이터 엔지니어링 작업과 같이 중요한 장기 실행 프로세스를 중단 없이 실행할 수 있습니다.
커널 실행에 영향을 주지 않는 작업:
다른 페이지로 이동하기
|sf-web-interface|의 다른 위치에서 작업하기
브라우저 닫기
컴퓨터 종료하기
Connected 드롭다운을 사용하여 커널을 종료하거나 다시 시작할 수 있습니다.
참고
Shut down kernel 또는 :ui:`Restart kernel`을 사용하면 메모리의 변수는 지워지지만 사용자가 설치한 패키지는 유지됩니다. 사전 설치된 패키지만 있는 완전히 깨끗한 환경을 원하는 경우 서비스를 다시 시작하거나 새 서비스를 생성하여 연결해야 합니다.
노트북 서비스가 일시 중단되면 노트북 커널도 종료됩니다. 자세한 내용은 :ref:`컴퓨팅 설정하기<label-nb_in_ws_compute_setup>`를 참조하세요.
셀 출력¶
셀 출력은
.ipynb파일에 저장되지 않으며, 내보낼 수 없습니다.노트북을 실행한 사용자는 작업 공간(개인 및 공유 작업 공간 모두)에 있는 노트북의 셀 출력에 액세스할 수 있습니다.
셀 출력 가시성은 실행을 시작한 사용자로 제한됩니다. 셀을 실행하려면 활성 기본 역할에 :ref:`노트북 프로젝트 오브젝트(NPO) <label-nb_in_ws_schedule_npo>`에 대한 OWNERSHIP 또는 USAGE 권한 중 하나를 부여해야 합니다.
Jupyter 매직¶
작업 공간의 노트북은 IPython(대화형 Python) 커널을 실행하며 표준 Jupyter 셀 및 라인 매직을 제공합니다. :code:`%lsmagic`을 실행하여 사용 가능한 매직을 확인합니다.
예를 들어, %run 매직 명령을 사용하여 다른 노트북을 호출할 수 있습니다.
개발자 도구¶
개발자 도구에는 Terminal, Scratchpad 및 :ui:`Variables Explorer`가 포함됩니다. 이러한 도구를 사용하면 데이터와 노트북 환경을 탐색하고 상호 작용할 수 있습니다.
개발자 도구에 액세스하려면 노트북 상단의 컨트롤바에서 <icon>:ui:`Tools`를 선택합니다.
개발자 도구를 사용하려면 노트북 서비스에 연결되어 있어야 합니다. 다른 서비스로 전환하면 도구가 다시 시작됩니다.
터미널 사용하기¶
터미널을 사용하면 노트북의 컨테이너 환경에서 모든 셸 명령을 실행할 수 있습니다.
종속성 설치 -
pip install,pip list또는 설치된 패키지를 확인합니다.파일 관리 -
ls,pwd, 디렉터리를 탐색하고 파일을 확인합니다.병렬 작업 실행하기
컴퓨팅 리소스 사용량 모니터링하기
컴퓨팅 리소스 사용량을 실시간으로 모니터링하기 위한 htop 설치 및 실행의 예제입니다.
# If installation fails, run `apt update` first
# Install `htop`
apt install htop
# Run `htop`
htop
Scratchpad 사용하기¶
Scratchpad는 구조나 세련미에 대한 걱정 없이 코드, 아이디어, 계산 또는 메모 등을 빠르게 실험할 수 있는 탐색 공간입니다. Scratchpad에서 실행하는 명령은 노트북 파일을 변경하지 않습니다.
Scratchpad에서 다음을 수행할 수 있습니다.
빠른 애드혹 쿼리 - 노트북에 셀을 추가하지 않고도 SQL을 테스트합니다.
데이터 탐색 - 테이블 내용, 스키마를 확인하거나 탐색 쿼리를 실행합니다.
디버깅 - 노트북 셀에 추가하기 전에 데이터를 확인하거나 쿼리 조각을 테스트합니다.
일회성 작업 - 저장할 필요가 없는 명령(예: SHOW GRANTS 또는 DESCRIBE TABLE)을 실행합니다.
결과는 작업하는 동안 계속 표시되지만 노트북에는 저장되지 않습니다.
변수 탐색기 사용하기¶
변수 탐색기는 대화형으로 작업하는 동안 세션에 현재 로드된 변수를 검사할 수 있는 시각적 도구입니다. 각 변수에 대한 Name, Type, Shape 및 :ui:`Preview`를 보여줍니다. 셀 실행이 완료되면 변수가 업데이트됩니다.
