ייצוא תוצאות של שאילתות ל-Amazon S3
בעזרת BigQuery אתם יכולים לייצא את התוצאות של שאילתה שפועלת על טבלת BigLake ישירות לקטגוריה של Amazon Simple Storage Service (Amazon S3) באמצעות ההצהרה EXPORT DATA. ייצוא של תוצאות השאילתות מאפשר לכם לאחסן נתונים מעובדים ולהשתמש בהם באחסון החיצוני בענן, בלי להעביר את התוצאות דרך האחסון ב-BigQuery.
במאמר זרימת הנתונים כשמייצאים נתונים מוסבר איך הנתונים זורמים בין BigQuery לבין Amazon S3.
מגבלות
רשימה מלאה של המגבלות שחלות על טבלאות BigLake שמבוססות על Amazon S3 ו-Blob Storage מופיעה בקטע מגבלות.
לפני שמתחילים
ודאו שיש לכם את המשאבים הבאים:
- חיבור כדי לגשת לקטגוריית Amazon S3.
- טבלת BigLake של Amazon S3.
- המדיניות הנכונה של ניהול הזהויות והרשאות הגישה (IAM) ב-Amazon Web Services (AWS):
- כדי לכתוב נתונים בקטגוריית Amazon S3, צריכה להיות לכם ההרשאה
PutObject. מידע נוסף זמין במאמר יצירת מדיניות AWS IAM ל-BigQuery.
- כדי לכתוב נתונים בקטגוריית Amazon S3, צריכה להיות לכם ההרשאה
- אם אתם משתמשים במודל תמחור מבוסס-קיבולת, ודאו שהפעלתם את BigQuery Reservation API בפרויקט. למידע על תמחור, ראו תמחור של BigQuery Omni.
ייצוא תוצאות השאילתה
BigQuery Omni כותב למיקום שצוין ב-Amazon S3, בלי קשר לתוכן שכבר קיים. שאילתת הייצוא יכולה להחליף נתונים קיימים או לשלב את תוצאת השאילתה עם נתונים קיימים. מומלץ לייצא את תוצאת השאילתה לקטגוריה ריקה ב-Amazon S3.
כדי להריץ שאילתה, בוחרים באחת מהאפשרויות הבאות:
SQL
בשדה עורך השאילתות, מזינים שאילתת ייצוא ב-GoogleSQL. GoogleSQL הוא תחביר ברירת המחדל במסוף Google Cloud .
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
EXPORT DATA WITH CONNECTION `CONNECTION_REGION.CONNECTION_NAME` OPTIONS(uri="s3://BUCKET_NAME/PATH", format="FORMAT", ...) AS QUERY
מחליפים את מה שכתוב בשדות הבאים:
-
CONNECTION_REGION: האזור שבו נוצר החיבור. -
CONNECTION_NAME: שם החיבור שיצרתם עם ההרשאה הנדרשת לכתיבה בקטגוריה של Amazon S3. -
BUCKET_NAME: הקטגוריה ב-Amazon S3 שבה רוצים לכתוב את הנתונים. -
PATH: הנתיב שבו רוצים לכתוב את הקובץ שיוצא. הוא חייב להכיל בדיוק תו כללי אחד לחיפוש*בכל מקום בספריית העלה של מחרוזת הנתיב, לדוגמה,../aa/*,../aa/b*c,../aa/*bcו-../aa/bc*. BigQuery מחליף את*ב-0000..Nבהתאם למספר הקבצים שיוצאו. BigQuery קובע את מספר הקבצים ואת הגודל שלהם. אם BigQuery מחליט לייצא שני קבצים, אז*בשם הקובץ הראשון מוחלף ב-000000000000, ו-*בשם הקובץ השני מוחלף ב-000000000001. -
FORMAT: הפורמטים הנתמכים הםJSON,AVRO,CSVו-PARQUET. -
QUERY: השאילתה לניתוח הנתונים שמאוחסנים בטבלת BigLake. קבוצת הנתונים שמכילה את טבלת BigLake שמשמשת בשאילתה חייבת להיות באותו אזור ב-Amazon S3 שבו נמצאת קטגוריית היעד ב-Amazon S3. לוחצים על הפעלה.
-
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
פתרון בעיות
אם מופיעה שגיאה שקשורה ל-quota failure, צריך לבדוק אם יש קיבולת שמורה לשאילתות. למידע נוסף על הזמנת משבצות, ראו לפני שמתחילים במסמך הזה.
המאמרים הבאים
- מידע על BigQuery Omni
- איך מייצאים נתונים מטבלה
- איך שולחים שאילתות לגבי נתונים שמאוחסנים ב-Amazon S3
- איך מגדירים את VPC Service Controls ל-BigQuery Omni