טעינת נתונים של בעלי תוכן ב-YouTube לתוך BigQuery
אפשר לטעון נתונים מבעלי תוכן ב-YouTube אל BigQuery באמצעות המחבר של שירות העברת הנתונים ל-BigQuery ב-YouTube. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים ביותר שלכם מבעלי תוכן ב-YouTube ל-BigQuery.
סקירה כללית של מחברים
שירות העברת הנתונים ל-BigQuery עבור המחבר של בעלי תוכן ב-YouTube תומך באפשרויות הבאות להעברת נתונים.
| אפשרויות להעברת נתונים | תמיכה |
|---|---|
| דוחות נתמכים | מחבר בעלי התוכן ב-YouTube תומך בהעברת נתונים מהדוחות הבאים:
מחבר בעלי התוכן ב-YouTube תומך בגרסת ה-API מ-18 ביוני 2018. במאמר שינוי של דוחות בעלי תוכן ב-YouTube מוסבר איך דוחות בעלי תוכן ב-YouTube משתנים לטבלאות ולתצוגות ב-BigQuery. |
| תדירות החזרה | מחבר בעלי התוכן ב-YouTube תומך בהעברות נתונים יומיות. כברירת מחדל, העברות נתונים מתוזמנות לזמן שבו נוצרת העברת הנתונים. אפשר להגדיר את השעה של העברת הנתונים כשמגדירים את העברת הנתונים. |
| רענון החלון | המחבר של בעלי תוכן ב-YouTube מאחזר נתונים של בעלי תוכן ב-YouTube עד יום אחד אחורה בזמן הפעלת העברת הנתונים.
מידע נוסף זמין במאמר בנושא חלונות רענון. |
| זמינות של נתונים להשלמת חוסר (data backfill) | מריצים השלמת חוסר בנתונים כדי לאחזר נתונים שלא נכללים בהעברת הנתונים המתוזמנת. אפשר לאחזר נתונים עד לתקופה שמוגדרת במדיניות שמירת הנתונים במקור הנתונים. דוחות של YouTube שמכילים נתונים היסטוריים זמינים למשך 30 יום מהמועד שבו הם נוצרו. (דוחות שכוללים נתונים לא היסטוריים זמינים למשך 60 יום). מידע נוסף זמין במאמר בנושא נתונים היסטוריים. |
הטמעת נתונים מהעברות של בעלי תוכן ב-YouTube
כשמעבירים נתונים מדוחות של בעלי תוכן ב-YouTube אל BigQuery, הנתונים נטענים לטבלאות ב-BigQuery שמחולקות למחיצות לפי תאריך. מחיצת הטבלה שאליה נטען הנתון תואמת לתאריך ממקור הנתונים. אם מתזמנים כמה העברות לאותו תאריך, שירות העברת הנתונים ל-BigQuery מחליף את המחיצה של התאריך הספציפי הזה בנתונים העדכניים ביותר. העברות מרובות באותו יום או הרצות של מילוי חוסרים לא גורמות לשכפול נתונים, והמחיצות של תאריכים אחרים לא מושפעות.רענון חלונות
חלון הרענון הוא מספר הימים שבהם מתבצעת העברת נתונים, שבמהלכם מתבצעת אחזור נתונים. לדוגמה, אם חלון הרענון הוא שלושה ימים וההעברה מתבצעת מדי יום, שירות העברת הנתונים ל-BigQuery מאחזר את כל הנתונים מטבלת המקור מ-3 הימים האחרונים. בדוגמה הזו, כשמתבצעת העברה יומית, שירות העברת הנתונים ל-BigQuery יוצר מחיצה חדשה בטבלת היעד ב-BigQuery עם עותק של נתוני טבלת המקור מהיום הנוכחי, ואז מפעיל אוטומטית מילוי חוסרים כדי לעדכן את המחיצות בטבלת היעד ב-BigQuery עם נתוני טבלת המקור מיומיים קודמים. הפעלות של מילוי חוסרים שמופעלות אוטומטית יחליפו או יעודכנו באופן מצטבר את טבלת היעד ב-BigQuery, בהתאם לשאלה אם יש תמיכה בעדכונים מצטברים במחבר של שירות העברת הנתונים ל-BigQuery.
כשמריצים העברת נתונים בפעם הראשונה, העברת הנתונים מאחזרת את כל נתוני המקור שזמינים בחלון הרענון. לדוגמה, אם חלון הרענון הוא שלושה ימים ואתם מריצים את העברת הנתונים בפעם הראשונה, שירות העברת הנתונים ל-BigQuery מאחזר את כל נתוני המקור תוך שלושה ימים.
כדי לאחזר נתונים מחוץ לחלון העדכון, כמו נתונים היסטוריים, או כדי לשחזר נתונים מהפסקות זמניות בשירות או מפערים בהעברה, אפשר להתחיל או לתזמן השלמת חוסר בנתונים.
מגבלות
- התדירות המינימלית שאפשר לתזמן העברת נתונים היא פעם ב-24 שעות. כברירת מחדל, העברת נתונים מתחילה בזמן שבו יוצרים את העברת הנתונים. עם זאת, אפשר להגדיר את שעת ההתחלה של ההעברה כשמגדירים את ההעברה.
- שירות העברת הנתונים ל-BigQuery לא תומך בהעברות נתונים מצטברות במהלך העברה של בעלי תוכן ב-YouTube. כשמציינים תאריך להעברת נתונים, כל הנתונים שזמינים לתאריך הזה מועברים.
לפני שמתחילים
לפני שיוצרים העברת נתונים של בעלי תוכן ב-YouTube:
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון נתוני YouTube.
- מוודאים שיש לכם חשבון בעלי תוכן ב-YouTube. בעלי תוכן ב-YouTube הם לא ערוץ YouTube. בדרך כלל, יש לכם חשבון של בעלי תוכן ב-YouTube רק אם אתם מנהלים הרבה ערוצים שונים.
- אם אתם רוצים להגדיר התראות על הפעלת העברה ב-Pub/Sub, אתם צריכים הרשאות
pubsub.topics.setIamPolicy. אם מגדירים רק התראות באימייל, לא צריך הרשאות Pub/Sub. מידע נוסף זמין במאמר בנושא התראות על הפעלת שירות העברת נתונים ל-BigQuery.
ההרשאות הנדרשות
ודאו שהענקתם את ההרשאות הבאות.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin (roles/bigquery.admin) ב-IAM בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:
-
הרשאות של שירות העברת נתונים ל-BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
הרשאות ב-BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.
תפקידים נדרשים ב-YouTube
מנהל התוכן של YouTube או בעלי התוכן ב-YouTube.
מנהל תוכן מקבל הרשאות לניהול תוכן ב-YouTube בשם בעלי התוכן. בעלי תוכן הם חשבון גג שבבעלותו ערוץ YouTube אחד או יותר, וגם הסרטונים באותם ערוצים.
Hide revenue dataלא מסומן בהגדרות הדוחות של בעלי התוכן ב-YouTube.כדי שהדוחות שקשורים להכנסות יועברו, צריך לבטל את הסימון של ההגדרה
Hide revenue dataשל הרשאת הדוחות של YouTube עבור המשתמש שיוצר את ההעברה.
הגדרת העברה של בעלות על תוכן ב-YouTube
כדי להגדיר העברת נתונים של בעלי תוכן ב-YouTube, צריך:
- מזהה בעלי התוכן: מופיע ב-YouTube. כשנכנסים ל-YouTube בתור בעלי תוכן או מנהלי תוכן, המזהה מופיע בכתובת ה-URL אחרי
o=. לדוגמה, אם כתובת ה-URL היאhttps://studio.youtube.com/owner/AbCDE_8FghIjK?o=AbCDE_8FghIjK, מזהה בעל התוכן הואAbCDE_8FghIjK. כדי לבחור חשבון אחר במערכת ניהול התוכן, אפשר לעיין במאמר בנושא כניסה לחשבון במערכת ניהול התוכן או במאמר בנושא החלפת ערוץ ב-YouTube. מידע נוסף על יצירה וניהול של חשבון מערכת ניהול התוכן זמין במאמר בנושא הגדרת חשבון מערכת ניהול התוכן. - סיומת הטבלה: שם ידידותי למשתמש של הערוץ שסיפקתם כשביצעתם את ההגדרה של ההעברה. הסיומת מצורפת למזהה של העבודה כדי ליצור את שם הטבלה, לדוגמה reportTypeId_suffix. הסיומת משמשת כדי למנוע העברות נתונים נפרדות מכתיבה לאותן טבלאות. סיומת הטבלה צריכה להיות ייחודית בכל ההעברות שמעלות נתונים לאותו מערך נתונים, והסיומת צריכה להיות קצרה כדי למזער את אורך השם של הטבלה שנוצרת.
אם אתם משתמשים ב-YouTube Reporting API ויש לכם משימות דיווח קיימות, שירות העברת הנתונים ל-BigQuery טוען את נתוני הדוחות. אם אין לכם משימות דיווח קיימות, הגדרת העברת הנתונים תפעיל באופן אוטומטי משימות דיווח ב-YouTube.
כדי להגדיר העברת נתונים של בעלי תוכן ב-YouTube:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud . מוודאים שאתם מחוברים לחשבון בתור בעלי התוכן או מנהלי התוכן.
לוחצים על העברות.
לוחצים על יצירת העברה.
בדף Create Transfer:
בקטע סוג המקור, בשדה מקור, בוחרים באפשרות בעלי תוכן ב-YouTube.
בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברת הנתונים, למשל
My Transfer. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע אפשרויות תזמון:
- בקטע תדירות החזרה, בוחרים אפשרות שתגדיר באיזו תדירות תתבצע העברת הנתונים. אם בוחרים באפשרות ימים, צריך לציין שעה תקינה לפי שעון UTC.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך זמן הפעלה.
בקטע הגדרות יעד, בשדה מערך נתונים של היעד, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע פרטי מקור הנתונים:
- בשדה מזהה בעלי התוכן, מזינים את המזהה של בעלי התוכן.
- בשדה Table suffix (סיומת הטבלה), מזינים סיומת, כמו
MT.
בתפריט Service Account בוחרים חשבון שירות מתוך חשבונות השירות שמשויכים לפרויקט Google Cloud . אתם יכולים לשייך חשבון שירות להעברת הנתונים במקום להשתמש בפרטי הכניסה של המשתמש. מידע נוסף על שימוש בחשבונות שירות בהעברות נתונים זמין במאמר שימוש בחשבונות שירות.
אם נכנסתם באמצעות זהות מאוחדת, תצטרכו חשבון שירות כדי ליצור העברת נתונים. אם נכנסתם באמצעות חשבון Google, לא חייבים להשתמש בחשבון שירות להעברת הנתונים. לחשבון השירות צריכות להיות ההרשאות הנדרשות.
(אופציונלי) בקטע אפשרויות להתראות:
לוחצים על Save.
אם זו הכניסה הראשונה לחשבון, בוחרים חשבון ולוחצים על אישור. בוחרים את אותו חשבון שבו אתם מוגדרים כבעלי התוכן או כמנהלי התוכן.
BQ
מזינים את הפקודה bq mk ומספקים את האפשרות ליצירת העברה –
--transfer_config. נדרשים גם הדגלים הבאים:
--data_source--target_dataset--display_name--params
דגלים אופציונליים:
-
--service_account_name– מציין חשבון שירות שישמש לאימות העברת הבעלות על תוכן במקום חשבון המשתמש.
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source \ --service_account_name=service_account_name
כאשר:
- project_id הוא מזהה הפרויקט.
- dataset הוא מערך נתוני היעד להגדרת ההעברה.
- name הוא השם המוצג של הגדרת ההעברה. שם העברת הנתונים יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- parameters מכיל את הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. כדי להעביר נתונים של בעלי תוכן ב-YouTube, צריך לספק את הפרמטריםcontent_owner_idו-table_suffix. אפשר להגדיר את הפרמטרconfigure_jobsלערךtrueכדי לאפשר לשירות העברת הנתונים ל-BigQuery לנהל בשבילכם את משימות הדיווח ב-YouTube. אם יש דוחות של YouTube שלא קיימים בחשבון שלכם, ייווצרו משימות חדשות של דיווח כדי להפעיל אותם. - data_source הוא מקור הנתונים –
youtube_content_owner. - service_account_name הוא שם חשבון השירות שמשמש לאימות העברת הנתונים. חשבון השירות צריך להיות בבעלות אותו חשבון
project_idששימש ליצירת ההעברה, וצריכות להיות לו כל ההרשאות הנדרשות.
אפשר גם להשתמש בדגל --project_id כדי לציין פרויקט מסוים. אם לא מציינים את --project_id, נעשה שימוש בפרויקט שמוגדר כברירת מחדל.
לדוגמה, הפקודה הבאה יוצרת העברת נתונים של בעלי תוכן ב-YouTube בשם My Transfer באמצעות מזהה בעלי התוכן AbCDE_8FghIjK, סיומת הטבלה MT ומערך נתוני היעד mydataset. העברת הנתונים נוצרת בפרויקט שמוגדר כברירת מחדל:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"content_owner_id":"abCDE_8FghIjK","table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_content_owner
API
משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
שאילתות על הנתונים
כשמעבירים את הנתונים ל-BigQuery, הם נכתבים בטבלאות עם חלוקה למחיצות בזמן ההטמעה. מידע נוסף זמין במאמר בנושא טבלאות מחולקות.
אם אתם שולחים שאילתות ישירות לטבלאות במקום להשתמש בתצוגות שנוצרו אוטומטית, אתם צריכים להשתמש בעמודה הווירטואלית _PARTITIONTIME בשאילתה. מידע נוסף זמין במאמר בנושא שליחת שאילתות לטבלאות מחולקות.
פתרון בעיות בהגדרה של העברת בעלות על תוכן ב-YouTube
אם נתקלתם בבעיות בהגדרת העברת הנתונים, תוכלו לעיין במאמר פתרון בעיות בהגדרות העברה, בקטע בעיות בהעברת נתונים ב-YouTube.