ניתוח נתונים מרובי-אופנים ב-BigQuery
במאמר הזה מתוארות התכונות של BigQuery שבהן אפשר להשתמש כדי ליצור ולנתח נתונים מולטימודליים. אפשר להשתמש בתכונות האלה ב-BigQuery עם GoogleSQL ועם Python באמצעות BigQuery DataFrames.
התכונות של BigQuery לנתונים מרובי-אופנים מאפשרות לכם לבצע את המשימות הבאות:
- אפשר לשלב נתונים לא מובנים שמאוחסנים ב-Cloud Storage כעמודה נוספת לצד נתונים מובנים בטבלאות רגילות של BigQuery, על ידי ייצוג נתונים לא מובנים כערכים של
ObjectRef. - אפשר ליצור הערות, הטבעות וערכים סקלריים מנתונים מרובי-אופנים באמצעות פונקציות של AI גנרטיבי ב-BigQuery ML עם מודלים של Gemini.
- יצירת הערות, הטמעות וערכים סקלריים מנתונים מולטימודאליים על ידי יצירת DataFrames מולטימודאליים ב-BigQuery DataFrames ושימוש בספריות Python.
הדרכה מפורטת לשימוש במסוף Cloud de Confiance זמינה במאמר ניתוח נתונים מרובי-אופנים באמצעות SQL ו-Python.
יתרונות
התכונות של BigQuery לנתונים מרובי-אופנים מציעות את היתרונות הבאים:
- יכולת הרכבה: אפשר לאחסן ולנהל נתונים מובנים ולא מובנים באותה שורה בטבלה רגילה באמצעות ערכי
ObjectRef. לדוגמה, אפשר לאחסן תמונות של מוצר באותה שורה שבה מאוחסן שאר המידע על המוצר. אפשר להשתמש בפונקציות SQL סטנדרטי כדי ליצור ולעדכן עמודות שמכילות ערכיObjectRef, וליצור ערכיObjectRefכפלט של פעולת שינוי באובייקט. - הוספת כמה פריטי נתונים לא מובנים בהנחיות ל-AI גנרטיבי:
הוספת כמה ערכים של
ObjectRefכקלט לפונקציות של AI גנרטיבי. לדוגמה, אפשר ליצור הטמעה של נתוני תמונות וטקסט מאותה טבלה. כדי ליצור טקסט וערכים סקלריים, אפשר גם להפנות לכמה אובייקטים בהנחיה ששולחים למודל. לדוגמה, אפשר ליצור הנחיה שמבקשת מהמודל ליצור תיאור מוצר על סמך תמונות ומאפיינים של המוצר. - שמירת סדר הצ'אנקים: אפשר לחלק אובייקטים לצ'אנקים ואז לאחסן את הצ'אנקים כמערך של ערכי
ObjectRefבעמודה של טבלה רגילה, כדי לשמור את הסדר שלהם. לדוגמה, אפשר לנתח תמונות מסרטון, ואז לאחסן את התמונות האלה כמערך של ערכיObjectRef, כך שהתמונות יישארו באותו סדר שבו הן מופיעות בסרטון המקורי.
ObjectRef ערכים
ערך ObjectRef הוא ערך STRUCT שמשתמש בסכימת ObjectRef.
אפשר לאחסן מטא-נתונים של אובייקטים ב-Cloud Storage ואמצעי אימות משויך בטבלה רגילה ב-BigQuery על ידי יצירת עמודה מסוג STRUCT או ARRAY<STRUCT> שמשתמשת בפורמט הזה.
הערך של הרשאות הגישה מזהה את הקישור למשאבים ב-Cloud שבו BigQuery משתמש כדי לגשת לאובייקט ב-Cloud Storage.
אם מגדירים את אמצעי ההרשאה ל-NULL, מערכת BigQuery משתמשת בהרשאות של משתמש הקצה.
משתמשים בערכים ObjectRef כשרוצים לשלב נתונים לא מובְנים בטבלה רגילה. לדוגמה, בטבלת מוצרים, אפשר לאחסן תמונות של מוצרים באותה שורה עם שאר פרטי המוצר על ידי הוספת עמודה שמכילה ערך ObjectRef.
אפשר ליצור ולעדכן ערכים של ObjectRef באמצעות הפונקציות הבאות של GoogleSQL:
-
OBJ.MAKE_REF: יצירת ערךObjectRefשמכיל מטא-נתונים של אובייקט ב-Cloud Storage. -
OBJ.FETCH_METADATA: אחזור מטא-נתונים של Cloud Storage עבור ערךObjectRefשאוכלס באופן חלקי בערכיםuriו-authorizer.
מידע נוסף זמין במאמר עבודה עם ערכי ObjectRef.
ObjectRefRuntime ערכים
ערך ObjectRefRuntime הוא ערך JSON שמשתמש בסכימת ObjectRefRuntime.
ערך של ObjectRefRuntime מכיל את המטא-נתונים של האובייקט ב-Cloud Storage מהערך ObjectRef ששימש ליצירת הערך, הרשאה משויכת וכתובות URL לגישה. אתם יכולים להשתמש בכתובות ה-URL לגישה כדי לקרוא את האובייקט ב-Cloud Storage או לשנות אותו.
אפשר להשתמש בערכים ObjectRefRuntime כדי לעבוד עם נתוני אובייקטים בתהליכי עבודה של ניתוח ושינוי. כתובות ה-URL לגישה בערכים של ObjectRefRuntime יפוגו אחרי 6 שעות לכל היותר, אבל אפשר להגדיר זמן תפוגה קצר יותר. אם אתם שומרים ערכים של ObjectRefRuntime במקום כלשהו כחלק מתהליך העבודה, כדאי לרענן את הנתונים האלה באופן קבוע. כדי לשמור את המטא-נתונים של האובייקט, צריך לאחסן ערכים של ObjectRef ואז להשתמש בהם כדי ליצור ערכים של ObjectRefRuntime כשצריך אותם. אין צורך לרענן את הערכים של ObjectRef אלא אם האובייקטים הבסיסיים ב-Cloud Storage משתנים.
יוצרים ערכים של ObjectRefRuntime באמצעות הפונקציה OBJ.GET_ACCESS_URL.
פונקציות של AI גנרטיבי
יצירת טקסט, הטמעות וערכים סקלריים על סמך ObjectRef
קלט באמצעות הפונקציות הבאות של AI גנרטיבי עם
מודלים של Gemini:
AI.GENERATEAI.GENERATE_TEXTAI.GENERATE_TABLEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTAI.GENERATE_EMBEDDINGAI.EMBEDAI.SIMILARITYAI.CLASSIFYAI.IFAI.SCORE
עבודה עם נתונים מולטי-מודאליים ב-Python
אפשר לנתח נתונים מולטימודליים ב-Python באמצעות מחלקות ושיטות של BigQuery DataFrames.
Multimodal DataFrames
יצירת DataFrame מולטי-מודאלי שמשלב נתונים מובְנים ולא מובְנים באמצעות השיטה read_gbq: יצירת DataFrame מולטי-מודאלי מטבלת אובייקטים.
כדי לנסות את התכונה, אפשר לעיין במדריך בנושא מסגרות נתונים מרובות מצבים ב-GitHub.
שיטות של AI גנרטיבי
אפשר להשתמש בשיטות הבאות כדי לבצע משימות של AI גנרטיבי על נתונים מולטי-מודאליים:
-
predictmethod of theGeminiTextGeneratorclass: generate text based on multimodal data. -
predictmethod of theMultimodalEmbeddingGeneratorclass: generate embeddings based on multimodal data.
טבלאות אובייקטים
לכל טבלאות האובייקטים החדשות שתיצרו תהיה עמודה ref עם ערך ObjectRef לאובייקט הנתון. החיבור שמשמש ליצירת טבלת האובייקטים משמש גם לאכלוס הערכים authorizer בעמודה ref. אפשר להשתמש בעמודה ref כדי לאכלס ולרענן את הערכים של ObjectRef בטבלאות רגילות.
מערכי נתונים של Storage Insights
מערך נתונים של Storage Insights הוא מערך נתונים מקושר של BigQuery שאפשר לשלוח אליו שאילתות כדי לנתח ולהמחיש את הנתונים ב-Cloud Storage. העמודה ref מכילה ערכים של ObjectRef שאפשר להשתמש בהם כדי לנתח נתוני אובייקטים ומטא-נתונים.
מגבלות
המגבלות הבאות חלות על התכונות של נתונים מרובי-אופנים ב-BigQuery:
- אם לא מציינים באופן מפורש את שם הפרויקט שמכיל את החיבור בשדה
authorizerשל ערךObjectRef, החיבור צריך להתקיים בפרויקט שמכיל את טבלת האובייקטים שבה הוא מאוחסן, או בפרויקט שבו מופעלת השאילתה שמפנה לערךObjectRef. - לא יכולות להיות יותר מ-20 חיבורים למשאבי Cloud בפרויקט ובאזור שבהם השאילתה ניגשת לנתוני אובייקטים כערכים של
ObjectRef. - אפשר להפנות לערכים של
ObjectRefמ-5 פרויקטים לכל היותר, בנוסף לפרויקט שבו מריצים את השאילתה.
עלויות
העלויות הבאות רלוונטיות לשימוש בנתונים מרובי-אופנים:
- האחסון של מטא-נתונים של אובייקטים כערכים של
ObjectRefבטבלאות סטנדרטיות תורם לעלות האחסון של הטבלה ב-BigQuery. - הפעלת שאילתות על ערכים של
ObjectRefכרוכה בעלויות מחשוב ב-BigQuery. - על אובייקטים חדשים שאתם יוצרים משינויים באובייקטים חלות עלויות של Cloud Storage.
- נתונים חדשים שאתם יוצרים ושומרים ב-BigQuery כרוכים בעלויות אחסון ב-BigQuery.
- השימוש בפונקציות של AI גנרטיבי כרוך בעלויות של Gemini Enterprise Agent Platform.
- השימוש בפונקציות מוגדרות על ידי המשתמש (UDF) ב-Python ב-BigQuery, ובשיטות של טרנספורמציות של אובייקטים ושל DataFrames מרובי-מוֹדָלִים ב-BigQuery DataFrames, גורם לעלויות של פונקציות UDF ב-Python.
מידע נוסף זמין בדפי התמחור הבאים:
- תמחור ב-BigQuery
- תמחור של פונקציות מוגדרות על ידי המשתמש (UDF) ב-Python ב-BigQuery
- תמחור של Agent Platform
- תמחור של Cloud Storage