Snowflake Notebook을 실행하도록 예약합니다

노트북 실행 예약을 만들면 Snowsight 는 해당 예약에 따라 노트북을 실행하는 작업을 생성하고, Snowsight 는 비대화형 모드로 노트북을 위에서 아래로 셀 단위로 실행합니다. 노트북을 실행하는 데 사용되는 작업은 노트북 소유자 역할이 소유하고 노트북 웨어하우스를 사용해 실행합니다. 기본적으로 노트북의 작업 실행은 10번 실패하면 자동으로 일시 중단됩니다. 작업에 대한 자세한 내용은 작업 소개 를 참조하십시오.

각 노트북 실행은 노트북을 시작하고 노트북 웨어하우스에 연결합니다. 그 결과, 노트북에서 사용하는 웨어하우스가 다시 시작되고 예약된 작업이 완료된 후 15분까지 활동 상태를 유지합니다.

일정에 따라 노트북을 실행하는 데 필요한 권한

일정에 따라 노트북을 실행하는 프로세스는 작업을 생성하고 실행하므로 다음 권한이 있는 역할을 사용해야 합니다.

권한

오브젝트

EXECUTE TASK

계정

USAGE

노트북을 포함한 데이터베이스

USAGE, CREATE TASK

노트북을 포함한 스키마

노트북 예약

노트북 실행을 예약하려면 다음을 수행하여 작업을 만듭니다.

참고

CREATE TASK 및 EXECUTE TASK 권한이 부여된 역할을 사용해야 합니다. 전체 목록은 필수 권한 섹션을 참조하십시오.

  1. Projects » Notebooks 를 선택합니다.

  2. 예약할 노트북을 찾아 선택합니다.

  3. 노트북에서 일정 버튼을 선택한 다음 Create schedule 를 선택합니다.

    오른쪽 상단 모서리의 예약 버튼.

    Schedule a notebook run 대화 상자가 나타납니다.

  4. Schedule name 에 노트북 일정의 이름을 입력합니다 이 이름은 노트북을 실행하는 작업의 이름으로 사용됩니다.

  5. Frequency 에서, 노트북을 실행할 빈도(예: Daily)를 선택합니다.

  6. 선택한 빈도에 따라 노트북을 실행할 시간에 맞춰 Scheduled time 및 기타 옵션을 조정합니다.

  7. 선택 사항으로 Parameter 의 경우 예약된 노트북에 전달할 명령줄 구문 인자를 추가할 수 있습니다. 예를 들어 key1=value1 key2=value2 --option2 과 같습니다.

    참고

    -- (대시 2개)를 독립형 인수로 전달하면 대시 앞에 전달된 모든 인자는 노트북 런타임에 전달된 것으로 해석됩니다.

  8. 일정 미리 보기를 검토하고 Create 를 선택합니다.

노트북 실행을 예약하는 작업이 생성됩니다.

노트북 일정 관리

노트북에 대한 일정을 만든 후에는 노트북이 있는 스키마의 작업 목록을 통해 일정을 보고 편집할 수 있습니다.

  1. Projects » Notebooks 를 선택합니다.

  2. 일정을 관리할 노트북을 찾아 선택합니다.

  3. 노트북에서 일정 버튼을 선택한 다음 View schedules 를 선택합니다. 그러면 노트북이 있는 스키마에 포함된 모든 작업의 테이블이 표시됩니다.

  4. 노트북을 실행하는 작업에서 세로 줄임표 워크시트에 대한 추가 작업 메뉴를 사용해 작업을 선택합니다.

일정의 시간이나 빈도를 변경하거나, 작업을 완전히 중단하거나 삭제하는 등의 편집 작업을 할 수 있습니다. 작업 관리에 대한 자세한 내용은 작업 소개 섹션을 참조하십시오.

예약된 노트북에 인자 전달하기

key1=value1 key2=value2 --option2 같은 구문을 사용해 예약된 노트북에 명령줄 인자를 전달할 수 있습니다. 그런 다음 예약된 노트북 내에서 sys.argv 를 사용해 이러한 매개 변수에 액세스할 수 있습니다.

# first argument
sys.argv[0]

# print the entire list
st.write(sys.argv)
Copy

과거 예약된 노트북 실행 보기

노트북이 예약대로 실행된 후에는 실행 기록을 검토할 수 있습니다.

  1. Projects » Notebooks 를 선택합니다.

  2. 예약할 노트북을 찾아 선택합니다.

  3. 노트북에서 일정 버튼을 선택한 다음 View run history 를 선택합니다.

    노트북의 Run History 대화 상자가 나타납니다.

  4. 예약된 작업 또는 API에서 생성된 실행 활동을 포함해 노트북의 실행 기록을 검토할 수 있습니다. 사용자가 수행한 노트북 실행은 포함되지 않습니다. 다음 세부 정보를 검토할 수 있습니다.

    • Trigger: 노트북을 실행한 작업의 이름입니다.

    • Last Ran: 노트북의 마지막 예약된 실행 타임스탬프입니다.

    • Status: 실행된 작업의 상태입니다.

    • Duration: 노트북을 실행하는 데 소요된 시간입니다.

    • Results: 노트북 실행 결과에 대한 링크입니다. 결과는 읽기 전용이며 노트북 셀은 편집할 수 없습니다. Edit current notebook 을 선택해 노트북의 현재 버전을 열고 편집할 수 있습니다.

  5. 선택적으로 View all tasks in schema 를 선택하면 스키마에 포함된 모든 작업의 테이블을 볼 수 있습니다.

  6. Done 을 선택해 노트북으로 돌아갑니다.

작업 기록 뷰에 대한 자세한 내용은 계정의 작업 로드 내역 보기 섹션을 참조하십시오.

나만의 스케줄러 사용하기

Airflow와 같은 자체 예약 도구를 사용해 노트북을 실행하려면 EXECUTE NOTEBOOK 명령을 사용하십시오. 이 명령을 실행할 때 예약된 노트북에 명령줄 인자를 직접 전달할 수도 있습니다. 예:

EXECUTE NOTEBOOK DB.SCHEMA.NOTEBOOK_NAME('--env staging --tablename staging-table');
Copy

이렇게 하면 노트북이 위에서 아래로 셀 단위로 실행됩니다. 결과는 노트북의 실행 기록 섹션에서 볼 수 있습니다.

제한 사항

  • 예약된 노트북의 실행 기록은 최근 7일로 제한됩니다.

  • 예약된 작업으로 실행되는 노트북의 이름을 변경하면 작업에 오류가 발생할 수 있습니다. CREATE TASK 명령을 사용해 작업을 수동으로 편집해 변경된 이름으로 노트북을 호출할 수 있습니다.

실패한 노트북 실행

  • 예약된 노트북 실행으로 인해 오류가 발생하면 해당 실행은 실행 기록에 Failed 상태로 표시됩니다. 노트북을 생성한 사용자는 실패한 실행을 열고 오류가 발생한 셀을 격리할 수 있습니다.