ניהול סשנים של BigQuery DataFrames וקלט/פלט
במאמר הזה מוסבר איך לנהל סשנים ולבצע פעולות קלט ופלט (I/O) כשמשתמשים ב-BigQuery DataFrames. תלמדו איך ליצור סשנים ולהשתמש בהם, לעבוד עם נתונים בזיכרון ולקרוא מקבצים ומטבלאות BigQuery ולכתוב בהם.
סשנים ב-BigQuery
הספרייה BigQuery DataFrames משתמשת באופן פנימי באובייקט של סשן מקומי כדי לנהל מטא-נתונים. כל אובייקט DataFrame ו-Series מתחבר לסשן, כל סשן מתחבר למיקום, וכל שאילתה בסשן מופעלת במיקום שבו יצרתם את הסשן. אפשר להשתמש בדוגמת הקוד הבאה כדי ליצור סשן באופן ידני ולהשתמש בו לטעינת נתונים:
אי אפשר לשלב נתונים מכמה מופעים של סשנים, גם אם מאתחלים אותם עם אותן הגדרות. בדוגמת הקוד הבאה אפשר לראות שניסיון לשלב נתונים ממופעים שונים של סשנים גורם לשגיאה:
סשן גלובלי
BigQuery DataFrames מספק סשן גלובלי שמוגדר כברירת מחדל, שאפשר לגשת אליו באמצעות השיטה bigframes.pandas.get_global_session(). ב-Colab, צריך לספק מזהה פרויקט למאפיין bigframes.pandas.options.bigquery.project לפני שמשתמשים בו. אפשר גם להגדיר מיקום באמצעות המאפיין bigframes.pandas.options.bigquery.location, שברירת המחדל שלו היא US (מספר אזורים).
בדוגמת הקוד הבאה אפשר לראות איך מגדירים אפשרויות עבור הסשן הגלובלי:
כדי לאפס את המיקום או הפרויקט של הסשן הגלובלי, צריך לסגור את הסשן הנוכחי באמצעות הפעלת השיטה bigframes.pandas.close_session().
הרבה פונקציות מובנות של BigQuery DataFrames משתמשות בסשן הגלובלי כברירת מחדל. בדוגמת הקוד הבאה אפשר לראות איך פונקציות מובנות משתמשות בסשן הגלובלי:
נתונים בזיכרון
אפשר ליצור אובייקטים של DataFrames ו-Series באמצעות מבני נתונים מובנים של Python או NumPy, בדומה לאופן שבו יוצרים אובייקטים באמצעות pandas. כדי ליצור אובייקט, משתמשים בקוד לדוגמה הבא:
כדי להמיר אובייקטים מסוג pandas לאובייקטים מסוג DataFrames באמצעות השיטה או הקונסטרוקטורים read_pandas(), משתמשים בדוגמת הקוד הבאה:
כדי להשתמש בשיטה to_pandas() לטעינת נתונים של BigQuery DataFrames לזיכרון, אפשר להשתמש בדוגמת הקוד הבאה:
אומדן עלויות עם הפרמטר dry_run
טעינה של כמות גדולה של נתונים יכולה לקחת הרבה זמן ומשאבים. כדי לראות כמה נתונים מעובדים, משתמשים בפרמטר dry_run=True בקריאה to_pandas(). כדי לבצע הרצה יבשה, משתמשים בדוגמת הקוד הבאה:
קריאה וכתיבה של קבצים
אפשר לקרוא נתונים מקבצים תואמים לתוך BigQuery DataFrames. הקבצים האלה יכולים להיות במחשב המקומי או ב-Cloud Storage. אפשר להשתמש בדוגמת הקוד הבאה כדי לקרוא נתונים מקובץ CSV:
כדי לשמור את ה-BigQuery DataFrames בקבצים מקומיים או בקבצים ב-Cloud Storage באמצעות השיטה to_csv, משתמשים בדוגמת הקוד הבאה:
קריאה וכתיבה של טבלאות BigQuery
כדי ליצור BigQuery DataFrames באמצעות הפניות לטבלאות ב-BigQuery והפונקציה bigframes.pandas.read_gbq, משתמשים בדוגמת הקוד הבאה:
כדי להשתמש במחרוזת SQL עם הפונקציה read_gbq() כדי לקרוא נתונים ל-BigQuery DataFrames, משתמשים בדוגמת הקוד הבאה:
כדי לשמור את אובייקט DataFrame בטבלה ב-BigQuery, משתמשים בשיטה to_gbq() של אובייקט DataFrame. בדוגמת הקוד הבאה אפשר לראות איך עושים את זה:
המאמרים הבאים
- מידע נוסף על BigQuery DataFrames
- איך עובדים עם סוגי נתונים ב-BigQuery DataFrames
- איך יוצרים תרשימים באמצעות BigQuery DataFrames
- אפשר לעיין בהפניית API של BigQuery DataFrames.