בדף הזה מוזכר הפרמטר
persist_forשהוא חלק ממודל.אפשר להשתמש ב-
persist_forגם כחלק מניתוח, כמו שמתואר בדף התיעוד של הפרמטרpersist_for(לניתוחים).אפשר להשתמש ב-
persist_forגם כחלק מטבלה נגזרת, כמו שמתואר בדף התיעוד של הפרמטרpersist_for(לטבלאות נגזרות).
Usage
persist_for: "5 hours"
|
היררכיה
persist_for |
ערך ברירת המחדל
שעה אחת
מקבל
מחרוזת שמכילה מספר שלם שאחריו מסגרת זמן (שניות, דקות או שעות)
|
הגדרה
במקום זאת, כדאי להשתמש ב-
datagroupוב-persist_with, כמו שמתואר בדף התיעוד בנושא שאילתות שמירה במטמון.
persist_for מאפשרת לשנות את משך הזמן שבו נעשה שימוש בתוצאות של שאילתות שנשמרו במטמון עבור ניתוח מסוים. אורך המטמון שמוגדר כברירת מחדל ב-Looker הוא שעה אחת. תוצאות שמורות במטמון מאוחסנות בקובץ מוצפן במופע Looker שלכם.
מנגנון ה-caching ב-Looker פועל באופן הבא: אחרי שמשתמש מריץ שאילתה ספציפית, התוצאה של השאילתה הזו נשמרת במטמון. אם מישהו מריץ בדיוק את אותה שאילתה שוב (הכול חייב להיות זהה, כולל דברים קטנים כמו מגבלת השורות) תוך פחות מהמרווח שצוין על ידי persist_for, התוצאות שנשמרו במטמון יוחזרו. אחרת, תופעל שאילתה חדשה על מסד הנתונים.
כשתקופת הזמן persist_for מסתיימת, הנתונים נמחקים מהמטמון. מידע על משך הזמן שבו הנתונים מאוחסנים במטמון זמין בדף התיעוד בנושא שמירת שאילתות במטמון.
בנוסף, אפשר להשתמש בpersist_for במידע נוסף. אם גם לניתוח וגם למודל שלו יש הגדרות persist_for, הערך שמוגדר לניתוח יקבל עדיפות בשאילתות שמבוססות על הניתוח הזה.
בניתוח אפשר לראות אם שאילתה הוחזרה מהמטמון או לכפות יצירה של תוצאות חדשות ממסד הנתונים. מידע נוסף זמין בדף העזרה בנושא שמירת שאילתות במטמון.
דוגמאות
משנים את אורך המטמון ל-2 שעות:
persist_for: "2 hours"
משנים את אורך המטמון ל-30 דקות:
persist_for: "30 minutes"
משביתים את השמירה במטמון כדי שהמשתמשים לא יקבלו אף פעם תוצאות של שאילתות שנשמרו במטמון:
persist_for: "0 seconds"
דברים שכדאי לקחת בחשבון
הנתונים תמיד נכתבים למטמון
כשמגדירים את persist_for לערך 0 seconds, השאילתות של המשתמשים לא יאחזרו נתונים מהמטמון. עם זאת, Looker דורש את מטמון הדיסק לתהליכים פנימיים, ולכן הנתונים המוצפנים תמיד ייכתבו למטמון, גם כשpersist_for מוגדר ל-0 seconds. אחרי שהנתונים נכתבים למטמון, הם מסומנים למחיקה, אבל יכול להיות שהם יישארו בדיסק עד 10 דקות. פרטים נוספים זמינים בדף התיעוד בנושא שמירת שאילתות במטמון.
persist_for לא בהכרח תואם לייבוא הנתונים
חברות רבות מייבאות נתונים למסד הנתונים של הניתוח שלהן מדי יום. לפעמים הם מניחים שאין טעם להריץ שאילתות חדשות אם הנתונים לא מתעדכנים כל הזמן, ולכן הם מגדירים את משך הזמן של השמירה במטמון ל-24 שעות (כמו persist_for: 24 hours). עם זאת, ההגדרה הזו לא תמנע מהמשתמשים לקבל נתונים ישנים יותר מהרענון האחרון.
לדוגמה, נניח ששאילתה מופעלת בצהריים ב-1 בינואר, נתונים חדשים מיובאים בבוקר ב-2 בינואר, ואז השאילתה מופעלת שוב בצהריים ב-2 בינואר. מכיוון שהשאילתה הופעלה בחלון של 24 שעות שצוין על ידי persist_for, הנתונים מ-1 בינואר יוחזרו, גם אם נתונים חדשים נטענו ב-2 בינואר.
אם רוצים שהנתונים במטמון יהיו תואמים לייבוא הנתונים, צריך להשתמש בdatagroups וב-
persist_with, כמו שמתואר בדף התיעוד בנושא Caching queries.
תוצאות של תצוגות מתוזמנות יישמרו במטמון
כשמריצים Look מתוזמן, נוצרת קבוצת תוצאות במטמון באותו אופן שבו נוצרת קבוצת תוצאות כשמשתמש מריץ שאילתה. אם רוצים לבצע אחסון במטמון מראש של Look מסוים, כדאי לשמור אותו ולתזמן אותו.