טעינת נתונים של ערוץ 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. אפשר ליצור העברה של ערוץ YouTube רק כשמחוברים באמצעות חשבון Google.
- אפשר להעביר נתונים רק מערוץ YouTube שמשויך לחשבון Google שיוצר את העברת הנתונים. מידע נוסף זמין במאמר בנושא שיקולים בנושא הרשאה להעברת ערוץ YouTube.
לפני שמתחילים
לפני שיוצרים העברת נתונים של ערוץ YouTube:
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון נתוני YouTube.
ההרשאות הנדרשות
ודאו שהענקתם את ההרשאות הבאות.
התפקידים הנדרשים ב-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, צריך:
- סיומת הטבלה: שם ידידותי למשתמש של הערוץ שאתם מספקים כשאתם מגדירים את העברת הנתונים. הסיומת מצורפת למזהה של העבודה כדי ליצור את שם הטבלה, לדוגמה reportTypeId_suffix. הסיומת משמשת כדי למנוע העברות נפרדות מכתיבה לאותן טבלאות. סיומת הטבלה צריכה להיות ייחודית בכל ההעברות שמעלות נתונים לאותו מערך נתונים, והסיומת צריכה להיות קצרה כדי למזער את אורך השם של הטבלה שנוצרת.
אם אתם משתמשים ב-YouTube Reporting API ויש לכם משימות דיווח קיימות, שירות העברת הנתונים ל-BigQuery טוען את נתוני הדוחות. אם אין לכם משימות דיווח קיימות, הגדרת ההעברה תפעיל באופן אוטומטי משימות דיווח ב-YouTube.
כדי ליצור העברה של נתוני ערוץ YouTube:
המסוף
עוברים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על Create transfer (יצירת העברה).
בדף Create Transfer:
בקטע Source type, בשדה Source, בוחרים באפשרות YouTube Channel.
בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברת הנתונים, כמו
My Transfer. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע אפשרויות תזמון:
- בקטע תדירות החזרה, בוחרים אפשרות שתציין באיזו תדירות להפעיל את העברת הנתונים. אם בוחרים באפשרות ימים, צריך לציין שעה תקינה לפי שעון UTC.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך הפעלה.
בקטע הגדרות יעד, בשדה מערך נתונים של היעד, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע פרטי מקור הנתונים:
- בשדה סיומת לטבלה, מזינים סיומת כמו
MT. - מסמנים את התיבה Configure jobs כדי לאפשר ל-BigQuery לנהל בשבילכם את משימות הדיווח ב-YouTube. אם יש דוחות של YouTube שעדיין לא קיימים בחשבון שלכם, ייווצרו משימות חדשות של דיווח כדי להפעיל אותם.
- בשדה סיומת לטבלה, מזינים סיומת כמו
(אופציונלי) בקטע אפשרויות להתראות:
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומספקים את האפשרות ליצירת העברה –
--transfer_config. נדרשים גם הדגלים הבאים:
--data_source--target_dataset--display_name--params
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
כאשר:
- project_id הוא מזהה הפרויקט.
- dataset הוא מערך נתוני היעד להגדרת ההעברה.
- name הוא השם המוצג של הגדרת ההעברה. שם העברת הנתונים יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- parameters מכיל את הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. להעברות נתונים של ערוצי YouTube, חובה לציין את הפרמטרtable_suffix. אפשר להגדיר את הפרמטרconfigure_jobsלערךtrueכדי לאפשר לשירות העברת הנתונים ל-BigQuery לנהל בשבילכם את משימות הדיווח ב-YouTube. אם יש דוחות של YouTube שלא קיימים בערוץ שלכם, ייווצרו משימות חדשות של דיווח כדי להפעיל אותם. - data_source הוא מקור הנתונים –
youtube_channel.
אפשר גם להשתמש בדגל --project_id כדי לציין פרויקט מסוים. אם לא מציינים את --project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
לדוגמה, הפקודה הבאה יוצרת העברת נתונים של ערוץ YouTube בשם My Transfer באמצעות סיומת הטבלה MT ומערך נתוני היעד mydataset. העברת הנתונים נוצרת בפרויקט ברירת המחדל:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_channel
API
משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כששומרים את הגדרות ההעברה, המחבר של ערוץ YouTube מפעיל אוטומטית את ההעברה לפי האפשרות של לוח הזמנים. בכל הפעלה של העברה, המחבר של ערוץ YouTube מעביר את כל הנתונים הזמינים מערוץ YouTube שמשויך לפרטי הכניסה של המשתמש שיצר את העברת הנתונים הזו.
למידע נוסף על הנתונים שכלולים בכל העברה של ערוץ YouTube, אפשר לעיין במאמר שיקולי הרשאה להעברות של ערוצי YouTube.
כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצה של מילוי חוסרים.
שאילתות על הנתונים
כשהנתונים מועברים ל-BigQuery, הם נכתבים בטבלאות עם חלוקה למחיצות לפי זמן ההטמעה. מידע נוסף זמין במאמר מבוא לטבלאות עם מחיצות.
אם אתם שולחים שאילתות ישירות לטבלאות במקום להשתמש בתצוגות שנוצרו אוטומטית, אתם צריכים להשתמש בעמודה הווירטואלית _PARTITIONTIME בשאילתה. מידע נוסף זמין במאמר בנושא שליחת שאילתות לטבלאות מחולקות.
פתרון בעיות בהגדרת העברת ערוץ YouTube
אם נתקלתם בבעיות בהגדרת העברת הנתונים, תוכלו לעיין במאמר פתרון בעיות בהגדרות העברה, בקטע בעיות בהעברת נתונים מ-YouTube.