스케줄러가 활성화된 동적 테이블의 수동 새로 고침
다음 :ref:` 예약된 새로 고침<label-dynamic_tables_scheduled_refresh>`을 기다리지 않고 최신 데이터를 포함하도록 동적 테이블을 수동으로 새로 고칠 수 있습니다. 이 기능은 일회성 업데이트 또는 테이블의 목표 지연이 크고, 다음 새로 고침이 훨씬 더 늦게 수행되는 경우에 유용합니다.
팁
목표 지연에 따라 새로 고침될 것으로 예상되는 다운스트림 동적 테이블이 있는 동적 테이블의 경우 자주 수동으로 새로 고치지 마세요. 이러한 종류의 수동 새로 고침은 예약된 새로 고침을 건너뛰고 다운스트림 테이블이 업데이트되지 않도록 할 수 있습니다.
수동으로 새로 고치려면 다음 단계에 표시된 대로 ALTER DYNAMIC TABLE … REFRESH 명령 또는 | sf-web-interface|를 사용하세요.
SQL Snowsight
ALTER DYNAMIC TABLE my_dynamic_table REFRESH
Snowsight 에 로그인합니다.
Monitoring » Dynamic Tables 를 선택합니다.
목록에서 동적 테이블을 찾은 다음, » :ui:` Refresh Manually`를 선택합니다.
새로 고침을 외부 시스템 일정 또는 일괄 처리 시간대에 맞추는 것과 같이 정확한 새로 고침 타이밍이 필요한 상황에서는 CRON 식과 함께 작업을 사용하여 새로 고침을 트리거할 수 있습니다.
예:
-- Create the task
CREATE TASK my_dt_refresh_task
WAREHOUSE = my_wh
SCHEDULE = 'USING CRON 0 0 * * * America/Los_Angeles' -- Example: daily at midnight PST
COMMENT = 'Daily 5pm PT manual refresh of my_dynamic_table'
AS
ALTER DYNAMIC TABLE my_dynamic_table REFRESH ;
-- Enable the task
ALTER TASK my_dt_refresh_task RESUME ;
-- Show the task
SHOW TASKS LIKE 'my_dt_refresh_task' ;
+------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------|-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------|-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------+
| CREATED_ON | NAME | ID | DATABASE_NAME | SCHEMA_NAME | OWNER | COMMENT | WAREHOUSE | SCHEDULE | [ ] PREDECESSORS | STATE | DEFINITION | CONDITION | ALLOW_OVERLAPPING_EXECUTION | ERROR_INTEGRATION | LAST_COMMITTED_ON | LAST_SUSPENDED_ON | OWNER_ROLE_TYPE | CONFIG | TASK_RELATIONS | LAST_SUSPENDED_REASON | SUCCESS_INTEGRATION | SCHEDULING_MODE | TARGET_COMPLETION_INTERVAL | EXECUTE_AS_USER |
|------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------+-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------+-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------|
| 2025-10-02 | DT_REFRESH_TASK | 01bf6f0d-690f-f373-0000-000000025e3d| mydb | my_schema | ACCOUNTADMIN | Daily 5pm PT manual refresh of my_dynamic_table | mywh | USING CRON 0 17 * * * America/Los_Angeles | [] | Started | ALTER DYNAMIC TABLE my_dynamic_table REFRESH | null | false | null | 2025-10-02 05:08:52.897 +0000 | null | ROLE | null | {"Predecessors":[]} | null | null | null | null | null |
+------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------|-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------|-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------+
대부분의 경우 Snowflake는 새로 고침 빈도를 최적화하고, 불필요하게 실행될 수 있는 고정 CRON 일정에 비해 비용을 절감할 수 있는 목표 지연을 사용할 것을 권장합니다.
스케줄러가 비활성화된 동적 테이블의 수동 새로 고침
SCHEDULER 특성이 `` DISABLE``로 설정된 동적 테이블은 수동으로만 새로 고칠 수 있습니다.
이 유형의 수동 새로 고침은 해당 동적 테이블만 새로 고칩니다. 해당 스케줄러 상태에 관계없이 업스트림 동적 테이블로 연속 적용되지 않습니다.
DYNAMIC_TABLE_REFRESH_HISTORY 출력에서 이러한 새로 고침의 REFRESH_TRIGGER 값은 MANUAL``입니다. ``SCHEDULER``가 ``DISABLE``로 설정된 동적 테이블에는 ``SCHEDULED 항목이 생성되지 않습니다.
이 동작을 통해 dbt와 같은 외부 오케스트레이터는 업스트림 새로 고침을 트리거하지 않고도 동적 테이블당 하나의 수동 새로 고침을 실행할 수 있습니다.
스케줄러를 비활성화한 다음 동적 테이블을 수동으로 새로 고치려면 다음 단계에 표시된 대로 ALTER DYNAMIC TABLE 명령을 사용합니다.
SQL Snowsight
스케줄러를 비활성화합니다.
ALTER DYNAMIC TABLE my_dynamic_table SET SCHEDULER = DISABLE
동적 테이블을 수동으로 새로 고칩니다.
ALTER DYNAMIC TABLE my_dynamic_table REFRESH
Snowsight 에 로그인합니다.
Monitoring » Dynamic Tables 를 선택합니다.
목록에서 동적 테이블을 찾은 다음, » :ui:` Refresh Manually`를 선택합니다.