本頁面是指 derived_table 的
persist_for參數。
persist_for也可做為「探索」的一部分,詳情請參閱「persist_for(適用於探索)」參數說明文件頁面。
persist_for也可做為模型的一部分,詳情請參閱persist_for(適用於模型) 參數說明文件頁面。
用量
view: my_view {
derived_table: {
persist_for: "24 hours"
...
}
}
|
階層
persist_for |
預設值
無
接受
字串,包含整數,後接時間範圍 (秒、分鐘或小時)
|
定義
建議改用
datagroup參數和datagroup_trigger參數,詳情請參閱查詢快取說明文件。
persist_for 可讓您設定持續性衍生資料表在重新產生前可使用的時間長度上限。使用者執行依附於衍生資料表的查詢時,Looker 會根據 persist_for 檢查資料表存在時間。persist_for如果年齡大於 persist_for 設定,系統會在執行查詢前重新產生衍生資料表。如果年齡小於 persist_for 設定,系統會使用現有的衍生資料表。
PDT 的 persist_for 會獨立於模型和探索的 persist_for 參數執行。
如果管理員授予您 develop 權限,您可以在衍生表格達到 persist_for 期限前強制重新產生。在「探索動作」齒輪下拉式選單中,選取「重建衍生資料表並執行」選項。
如要進一步瞭解「重建衍生資料表並執行」選項,請參閱「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 參數和 datagroup_trigger 參數,可更彈性地觸發 PDT 重建作業。不過,max_cache_age 參數只會使快取失效,不會導致 PDT 過期。如要設定最長的時間範圍,再從暫時性結構定義中捨棄 PDT,請搭配衍生資料表使用 persist_for。