ניהול של סשנים וקלט/פלט של 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 במספר אזורים.
בדוגמת הקוד הבאה אפשר לראות איך מגדירים אפשרויות עבור הסשן הגלובלי:
כדי לאפס את המיקום או הפרויקט של הסשן הגלובלי, צריך לסגור את הסשן הנוכחי באמצעות הפעלת ה-method 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. בדוגמת הקוד הבאה אפשר לראות איך עושים את זה: