שינוי נתונים באמצעות BigQuery DataFrames
בעזרת BigQuery DataFrames אתם יכולים לשנות נתונים באמצעות תבניות תחביר מוכרות של pandas, בלי להעביר מערכי נתונים מחוץ למחסן הנתונים. הפעולות האלה מבוצעות בצד השרת, אז אתם יכולים לבדוק את הנתונים שמאוחסנים ב-BigQuery, לשנות אותם ולהחיל עליהם חישובים מורכבים ישירות.
מידע נוסף על פונקציות נתמכות זמין בספרייה bigframes.bigquery.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע המשימות שמפורטות במאמר הזה, בקשו מהאדמין לתת לכם את התפקידים הבאים ב-IAM ברמת הפרויקט:
- BigQuery Job User (
roles/bigquery.jobUser) - BigQuery Read Session User (
roles/bigquery.readSessionUser) -
שימוש ב-BigQuery DataFrames ב-BigQuery Notebook:
- BigQuery User (
roles/bigquery.user) - משתמש בסביבת זמן ריצה של Notebook (
roles/aiplatform.notebookRuntimeUser) - Code Creator (
roles/dataform.codeCreator)
- BigQuery User (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כשמבצעים אימות של משתמשי קצה בסביבה אינטראקטיבית כמו notebook, Python REPL או שורת הפקודה, BigQuery DataFrames מבקש אימות במקרה הצורך. אחרת, תוכלו לקרוא איך מגדירים את Application Default Credentials בסביבות שונות.
pandas API
אחד המאפיינים הבולטים של BigQuery DataFrames הוא ש-ה-API של bigframes.pandas דומה לממשקי ה-API בספריית pandas. העיצוב הזה מאפשר לכם להשתמש בתבניות תחביר מוכרות למשימות של שינוי נתונים. פעולות שמוגדרות באמצעות BigQuery DataFrames API מבוצעות בצד השרת, פועלות ישירות על נתונים שמאוחסנים ב-BigQuery ומבטלות את הצורך להעביר מערכי נתונים מחוץ ל-BigQuery.
כדי לבדוק באילו ממשקי API של pandas יש תמיכה ב-BigQuery DataFrames, קראו את המאמר ממשקי API נתמכים של pandas.
בדיקה ושינוי של נתונים
אתם יכולים להשתמש ב-API של bigframes.pandas כדי לבצע פעולות של בדיקת נתונים וחישוב. דוגמת הקוד הבאה משתמשת בספרייה bigframes.pandas כדי לבדוק את העמודה body_mass_g, לחשב את הממוצע של body_mass ולחשב את הממוצע של body_mass לפי species:
ספריית BigQuery
ספריית BigQuery מספקת פונקציות SQL של BigQuery, שיכול להיות שאין להן מקבילה ב-pandas. בקטעים הבאים מוצגות כמה דוגמאות.
עיבוד ערכי מערך
אפשר להשתמש בפונקציה bigframes.bigquery.array_agg() בספרייה bigframes.bigquery כדי לצבור ערכים אחרי פעולת groupby:
אפשר גם להשתמש בפונקציות המערך array_length() ו-array_to_string().
יצירת אובייקט struct Series
אפשר להשתמש בפונקציה bigframes.bigquery.struct() בספרייה bigframes.bigquery כדי ליצור אובייקט struct Series חדש עם שדות משנה לכל עמודה ב-DataFrame:
המרת חותמות זמן לראשית זמן יוניקס (Unix epoch)
אפשר להשתמש בפונקציה bigframes.bigquery.unix_micros() בספרייה bigframes.bigquery כדי להמיר חותמות זמן למיקרו-שניות של Unix:
אפשר גם להשתמש בפונקציות הזמן unix_seconds() ו-unix_millis().
שימוש בפונקציה הסקלרית של SQL
אתם יכולים להשתמש בפונקציה bigframes.bigquery.sql_scalar() בספרייה bigframes.bigquery כדי לגשת לתחביר SQL שרירותי שמייצג ביטוי של עמודה אחת:
המאמרים הבאים
- מידע ולמידה על פונקציות Python בהתאמה אישית ב-BigQuery DataFrames
- איך יוצרים קוד של BigQuery DataFrames באמצעות Gemini
- איך מנתחים הורדות של חבילות מ-PyPI באמצעות BigQuery DataFrames
- ב-GitHub אפשר לראות את קוד המקור, דוגמאות ל-notebooks ודוגמאות ל-BigQuery DataFrames.
- מאמרי העזרה של BigQuery DataFrames API