שינוי נתונים באמצעות BigQuery DataFrames
במאמר הזה מוסבר על היכולות של טיפול בנתונים שזמינות ב-BigQuery DataFrames. אפשר למצוא את הפונקציות שמתוארות בספרייה bigframes.bigquery.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע המשימות שמתוארות במסמך הזה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
BigQuery Job User (
roles/bigquery.jobUser) -
BigQuery Read Session User (
roles/bigquery.readSessionUser) -
שימוש ב-BigQuery DataFrames במחברת BigQuery:
-
BigQuery User (
roles/bigquery.user) -
משתמש Notebook Runtime (
roles/aiplatform.notebookRuntimeUser) -
Code Creator (
roles/dataform.codeCreator)
-
BigQuery User (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כשמבצעים אימות של משתמשי קצה בסביבה אינטראקטיבית כמו מחברת, Python REPL או שורת הפקודה, BigQuery DataFrames מציג בקשה לאימות, אם צריך. אחרת, במאמר איך מגדירים Application Default Credentials מוסבר איך עושים את זה בסביבות שונות.
pandas API
תכונה חשובה של BigQuery DataFrames היא שממשק bigframes.pandas API דומה לממשקי API בספריית pandas. העיצוב הזה מאפשר להשתמש בדפוסי תחביר מוכרים למשימות של מניפולציה של נתונים. פעולות שמוגדרות באמצעות BigQuery DataFrames API מבוצעות בצד השרת, ופועלות ישירות על נתונים שמאוחסנים ב-BigQuery. כך אין צורך להעביר מערכי נתונים מ-BigQuery.
כדי לבדוק אילו ממשקי API של pandas נתמכים על ידי BigQuery DataFrames, אפשר לעיין במאמר בנושא ממשקי API נתמכים של pandas.
בדיקה ומניפולציה של נתונים
אתם יכולים להשתמש ב-bigframes.pandas API כדי לבצע פעולות של בדיקת נתונים וחישובים. בדוגמת הקוד הבאה נעשה שימוש בספרייה bigframes.pandas כדי לבדוק את העמודה body_mass_g, לחשב את הממוצע body_mass ולחשב את הממוצע body_mass לפי species:
ספריית BigQuery
ספריית BigQuery מספקת פונקציות BigQuery SQL שאולי אין להן פונקציות מקבילות ב-pandas. בקטעים הבאים מוצגות כמה דוגמאות.
עיבוד ערכי מערך
אפשר להשתמש בפונקציה bigframes.bigquery.array_agg() בספרייה bigframes.bigquery כדי לצבור ערכים אחרי פעולת groupby:
אפשר גם להשתמש בפונקציות המערך array_length() ו-array_to_string().
יצירת אובייקט Series struct
אפשר להשתמש בפונקציה 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
- אפשר לראות את קוד המקור, מחברות לדוגמה ודוגמאות של BigQuery DataFrames ב-GitHub.
- אפשר לעיין בהפניית API של BigQuery DataFrames.