ניתוח נתונים מרובי-אופנים ב-BigQuery
במאמר הזה מתוארות התכונות של BigQuery שבהן אפשר להשתמש כדי לנתח נתונים מרובי-אופנים. חלק מהתכונות זמינותGoogle Cloud במסוף ובכלי שורת הפקודה של BigQuery, ואחרות זמינות באמצעות BigQuery DataFrames ב-Python. אתם יכולים להשתמש בכמה מהתכונות האלה יחד כדי להקל על ניתוח נתונים מרובי-אופנים ועל תהליכי עבודה של שינוי נתונים.
התכונות של BigQuery לנתונים מרובי-אופנים מאפשרות לכם לבצע את המשימות הבאות:
- אפשר לשלב נתונים לא מובְנים בטבלאות רגילות באמצעות ערכים של
ObjectRef. - אפשר לעבוד עם נתונים לא מובנים בתהליכי עבודה של ניתוח והמרה באמצעות ערכים של
ObjectRefRuntime. - יצירת טקסט, הטמעות וערכים סקלריים מנתונים מרובי-אופנים באמצעות פונקציות של AI גנרטיבי ב-BigQuery ML עם מודלים של Gemini.
- יצירת DataFrames מולטי-מודאליים ב-BigQuery DataFrames.
- המרת תמונות ופיצול קובצי PDF באמצעות שיטות של BigQuery DataFrames
Series.BlobAccessor. - ליצור טקסט והטמעות מנתונים מולטימודאליים באמצעות שיטות של AI גנרטיבי ב-BigQuery DataFrames.
הדרכה מפורטת לשימוש במסוף Google Cloud זמינה במאמר ניתוח נתונים מרובי-אופנים באמצעות SQL. מדריך מפורט לשימוש ב-BigQuery DataFrames ב-Python זמין במאמר ניתוח נתונים מרובי-אופנים ב-Python באמצעות BigQuery DataFrames.
יתרונות
התכונות של BigQuery לנתונים מרובי-אופנים מציעות את היתרונות הבאים:
- קומפוזביליות: אפשר לאחסן ולנהל נתונים מובְנים ולא מובְנים באותה שורה בטבלה רגילה באמצעות ערכי
ObjectRef. לדוגמה, אפשר לאחסן תמונות של מוצר באותה שורה שבה מאוחסן שאר המידע על המוצר. אפשר להשתמש בפונקציות SQL סטנדרטי כדי ליצור ולעדכן עמודות שמכילות ערכים שלObjectRef, וליצור ערכים שלObjectRefכפלט של פעולת שינוי באובייקט. - שימוש בנתוני אובייקטים בהנחיות ל-AI גנרטיבי: שימוש בערכים של
ObjectRefRuntimeכקלט לפונקציות של AI גנרטיבי. לדוגמה, אפשר ליצור הטמעות של נתוני תמונות וטקסט מאותה טבלה. כשיוצרים טקסט וערכים סקלריים, אפשר גם להפנות לכמה אובייקטים בהנחיה ששולחים למודל. לדוגמה, אפשר ליצור הנחיה שבה מבקשים מהמודל להשוות בין שתי תמונות של בעלי חיים, ואז להחזיר טקסט שמציין אם מופיע בהן אותו סוג של בעל חיים. - שמירת סדר המקטעים: אפשר לחלק אובייקטים למקטעים ואז לאחסן את המקטעים כמערך של ערכי
ObjectRefבעמודה רגילה בטבלה, כדי לשמור על הסדר שלהם. לדוגמה, אפשר לנתח תמונות מסרטון ואז לאחסן אותן כמערך של ערכיObjectRef, כך שהתמונות יישארו באותו סדר שבו הן מופיעות בסרטון המקורי.
ערכים של ObjectRef
ערך ObjectRef הוא ערך STRUCT שמופיע בפורמט ObjectRef.
אפשר לאחסן מטא-נתונים של אובייקטים ב-Cloud Storage ואמצעי אימות משויך בטבלה רגילה ב-BigQuery על ידי יצירת עמודה מסוג STRUCT או ARRAY<STRUCT> שמשתמשת בפורמט הזה.
הערך של אמצעי ההרשאה מזהה את החיבור למשאב Cloud שבו BigQuery משתמש כדי לגשת לאובייקט ב-Cloud Storage.
משתמשים בערכים 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 גנרטיבי
יצירת טקסט, הטמעות וערכים סקלריים על סמך קלט של ObjectRefRuntime
פונקציות AI גנרטיביות באמצעות מודלים של Gemini:
AI.GENERATEAI.GENERATE_TEXTAI.GENERATE_TABLEAI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INTAI.GENERATE_EMBEDDINGAI.EMBEDAI.SIMILARITY
עבודה עם נתונים מרובי-אופנים ב-Python
אפשר לנתח נתונים מרובי-אופנים ב-Python באמצעות מחלקות ושיטות של BigQuery DataFrames.
Multimodal DataFrames
יוצרים DataFrame מרובה-אופנים שמשלב נתונים מובנים ולא מובנים באמצעות השיטות הבאות של Session:
-
from_glob_pathmethod: יצירת DataFrame מולטימודאלי מקטגוריה של Cloud Storage. -
read_gbq_object_tablemethod: יצירת DataFrame מולטימודאלי מטבלת אובייקטים.
שיטות להמרת אובייקטים
כדי לבצע טרנספורמציה של נתוני אובייקט, משתמשים בשיטות הבאות של Series.BlobAccessor:
-
pdf_chunkmethod: chunk PDF objects from a multimodal DataFrame. השיטות הבאות להמרת אובייקטים של תמונות מ-DataFrame מולטי-מודאלי:
שיטות של 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 בטבלאות רגילות.
מגבלות
המגבלות הבאות חלות על התכונות של נתונים מרובי-אופנים ב-BigQuery:
- צריך להריץ כל שאילתה שמפנה לערכי
ObjectRefבאותו פרויקט שבו נמצאת הטבלה שמכילה את ערכיObjectRef. - לא יכולות להיות יותר מ-20 חיבורים בפרויקט ובאזור שבהם אתם מריצים שאילתות שמפנות לערכים
ObjectRefאוObjectRefRuntime. לדוגמה, אם אתם מריצים את השאילתות ב-asia-east1ב-myproject, לא יכולות להיות יותר מ-20 חיבורים ב-asia-east1ב-myproject.
עלויות
העלויות הבאות רלוונטיות לשימוש בנתונים מרובי-אופנים:
- אחסון של מטא-נתונים של אובייקטים כערכים של
ObjectRefבטבלאות סטנדרטיות תורם לעלות האחסון ב-BigQuery של הטבלה. - הפעלת שאילתות על ערכי
ObjectRefכרוכה בעלויות מחשוב ב-BigQuery. - על אובייקטים חדשים שאתם יוצרים משינויים באובייקטים יחולו עלויות של Cloud Storage.
- נתונים חדשים שאתם יוצרים ושומרים ב-BigQuery כרוכים בעלויות אחסון ב-BigQuery.
- השימוש בפונקציות של AI גנרטיבי כרוך בעלויות של Vertex AI.
- השימוש בפונקציות מוגדרות על ידי המשתמש (UDF) ב-Python ב-BigQuery, ובשיטות להמרת אובייקטים ולשינוי של מסגרות נתונים מרובות-אופנים ב-BigQuery DataFrames, גורם לעלויות של פונקציות UDF ב-Python.
מידע נוסף זמין בדפי התמחור הבאים:
- תמחור ב-BigQuery
- תמחור של פונקציות מוגדרות על ידי המשתמש (UDF) ב-Python ב-BigQuery
- תמחור של Vertex AI
- תמחור של Cloud Storage
המאמרים הבאים
- מציינים עמודות
ObjectRefבסכימות של טבלאות. - ניתוח נתונים מרובי-אופנים באמצעות SQL.
- ניתוח נתונים מרובי-אופנים ב-Python באמצעות BigQuery DataFrames
- מידע נוסף על AI גנרטיבי ב-BigQuery ML
- מידע נוסף על BigQuery DataFrames