이 페이지에서는 derived_table에 포함된
persist_for매개변수를 참조합니다.
persist_for은 Explore의 일부로도 사용할 수 있으며, 이에 대한 설명은persist_for(Explore용) 매개변수 문서 페이지를 참고하세요.
persist_for는persist_for(모델용) 매개변수 문서 페이지에 설명된 대로 모델의 일부로도 사용할 수 있습니다.
사용
view: my_view {
derived_table: {
persist_for: "24 hours"
...
}
}
|
계층 구조
persist_for |
기본값
없음
수락
정수 뒤에 시간대 (초, 분, 시간)가 오는 문자열
|
정의
쿼리 캐싱에 관한 문서에 설명된
datagroup매개변수와datagroup_trigger매개변수를 대신 사용하는 것이 좋습니다.
persist_for를 사용하면 영구 파생 테이블이 다시 생성되기 전에 사용할 수 있는 최대 시간을 설정할 수 있습니다. 사용자가 persist_for 파생 테이블을 사용하는 쿼리를 실행하면 Looker는 테이블의 기간을 persist_for와 비교합니다. 경과 시간이 persist_for 설정보다 크면 쿼리가 실행되기 전에 파생 테이블이 재생성됩니다. 연령이 persist_for 설정보다 작은 경우 기존 파생 테이블이 사용됩니다.
PDT의 persist_for은 모델 및 Explore의 persist_for 매개변수와 독립적으로 실행됩니다.
관리자에게서 develop 권한을 부여받은 경우 persist_for 기간이 지나기 전에 파생 테이블을 강제로 재생성할 수 있습니다. Explore 작업 톱니바퀴 드롭다운 메뉴에서 파생 테이블 다시 빌드 및 실행 옵션을 선택합니다.
파생 테이블 다시 빌드 및 실행 옵션에 대한 자세한 내용은 Looker의 파생 테이블 문서 페이지를 참조하세요.
예시
파생 테이블이 1시간 이상 된 경우 재생성
persist_for: "1 hour"
파생 테이블이 1.5시간이 지난 경우 재생성
persist_for: "90 minutes"
파생 테이블이 1일이 지난 경우 재생성
persist_for: "24 hours"
고려사항
persist_for을 사용하려면 영구 파생 테이블을 사용 설정해야 합니다.
Looker 인스턴스에서 파생 테이블의 지속성을 사용 설정하지 않으면 persist_for가 적용되지 않습니다. 대부분의 고객은 Looker를 처음 구성할 때 영구 파생 테이블을 설정합니다. 이 규칙의 가장 일반적인 예외는 Looker를 PostgreSQL 읽기 전용 핫 스왑 복제본 데이터베이스에 연결하는 고객입니다.
persist_for은 개발 모드와 프로덕션 모드 간에 다르게 작동합니다.
persist_for는 프로덕션 모드에서 예상대로 작동해야 합니다. 개발 모드에서는 persist_for를 더 긴 값으로 설정하더라도 모든 파생 테이블이 최대 24시간 동안 유지됩니다.
자세한 내용은 Looker의 파생 테이블 문서 페이지에서 개발 모드의 영구 테이블 섹션을 참조하세요.
persist_for의 대안
persist_for 기간이 만료되면 Looker에서 새 파생 테이블을 자동으로 재생성하지 않습니다. 대신 테이블이 삭제되고 사용자가 다음에 쿼리할 때 새 파생 테이블이 생성됩니다. 사용자 쿼리가 파생 테이블 생성을 트리거할 때까지 기다리는 대신 sql_trigger_value를 사용하여 파생 테이블의 자동 재생성을 예약할 수 있습니다.
datagroup과 max_cache_age의 차이점
datagroup_trigger 매개변수와 함께 datagroup 매개변수를 사용하면 PDT 재빌드를 트리거할 때 더 많은 유연성을 확보할 수 있습니다. 하지만 max_cache_age 매개변수는 캐시만 무효화하며 PDT가 만료되지는 않습니다. 스크래치 스키마에서 PDT를 삭제하기 전에 최대 기간을 설정하려면 파생 테이블과 함께 persist_for를 사용하세요.