בדף הזה מוסבר איך להריץ שאילתות על נתונים בפורמט עמודות.
שליחת שאילתות לנתונים בעמודות
מנוע השאילתות של Spanner מנתח שאילתות ובוחר באופן אוטומטי את הפורמט העמודתי אם הוא מועיל. עם זאת, יכול להיות שעדיין יהיה צורך ברמז לשאילתה כדי להשתמש בפורמט העמודות בשאילתות מסוימות. בדוגמאות הבאות מוצג אופן השימוש ברמז לשאילתה @{scan_method=columnar}:
@{scan_method=columnar} SELECT COUNT(*) FROM Singers;SELECT COUNT(*) FROM Singers @{scan_method=columnar};@{scan_method=columnar} SELECT m.MsgBlob FROM Messages WHERE m.id='1234';
בנוסף, אפשר להשבית את הבחירה האוטומטית של עמודות באופן מפורש באמצעות רמז השאילתה @{scan_method=no_columnar}.
שאילתת נתונים בפורמט עמודות ב-Spanner באמצעות שאילתות מאוחדות של BigQuery
כדי לקרוא נתונים עמודתיים מ-Spanner ב-BigQuery, אפשר ליצור מערך נתונים חיצוני או להשתמש בפונקציה EXTERNAL_QUERY.
כששולחים שאילתות למערכי נתונים חיצוניים, המערכת משתמשת אוטומטית בנתונים בעמודות אם הם זמינים ומתאימים לשאילתה.
אם משתמשים בפונקציה EXTERNAL_QUERY, Spanner משתמש אוטומטית בנתונים העמודתיים אם הם זמינים ומתאימים לעומס העבודה.
אפשר גם לכלול את הרמז @{scan_method=columnar} בשאילתת Spanner המקוננת.
בדוגמה הבאה לשימוש בהערה לשאילתה:
- הארגומנט הראשון של הפונקציה
EXTERNAL_QUERYמציין את החיבור החיצוני ואת מערך הנתונים,my-project.us.albums. - הארגומנט השני הוא שאילתת SQL שבוחרת את
MarketingBudgetמהטבלהAlbumInfo, כאשרMarketingBudgetקטן מ-500,000. - הרמז
@{scan_method=columnar}מבצע אופטימיזציה של השאילתה החיצונית לסריקה של עמודות. - ההצהרה החיצונית
SELECTמחשבת את סכום הערכיםMarketingBudgetשמוחזרים על ידי השאילתה החיצונית. - הפסוקית
AS total_marketing_spendמקצה שם לסיכום המחושב.
SELECT SUM(MarketingBudget) AS total_marketing_spend
FROM
EXTERNAL_QUERY(
'my-project.us.albums',
'@{scan_method=columnar} SELECT AlbumInfo.MarketingBudget FROM AlbumInfo WHERE AlbumInfo.MarketingBudget < 500000;');