טעינת נתונים מ-Oracle ל-BigQuery
אפשר לטעון נתונים מ-Oracle ל-BigQuery באמצעות המחבר של שירות העברת הנתונים ל-BigQuery ב-Oracle. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Oracle ל-BigQuery.
מגבלות
העברות של Oracle כפופות למגבלות הבאות:
- המספר המקסימלי של חיבורים בו-זמניים למסד נתונים של Oracle מוגבל, ולכן גם מספר ההפעלות של העברות בו-זמניות למסד נתונים יחיד של Oracle מוגבל למספר המקסימלי הזה.
- אתם צריכים להגדיר חיבור לרשת במקרים שבהם כתובת IP ציבורית לא זמינה לחיבור למסד נתונים של Oracle, עם הדרישות הבאות:
- צריכה להיות גישה למקור הנתונים מרשת המשנה שבה נמצאת ההתקשרות לרשת.
- הקובץ המצורף לרשת לא יכול להיות ברשת המשנה בטווח
240.0.0.0/24. - אי אפשר למחוק קבצים מצורפים לרשת אם יש חיבורים פעילים לקובץ המצורף. כדי למחוק קובץ מצורף לרשת, פונים ל-Cloud Customer Care.
- במיקום
usשכולל מספר אזורים, קובץ הרשת המצורף צריך להיות באזורus-central1. במיקוםeuשכולל מספר אזורים, קובץ הרשת המצורף צריך להיות באזורeurope-west4.
- מרווח הזמן המינימלי בין העברות חוזרות של Oracle הוא 15 דקות. מרווח ברירת המחדל להעברה חוזרת הוא 24 שעות.
- כל הגדרה של העברת נתונים יכולה לתמוך רק בהרצה אחת של העברת נתונים בכל זמן נתון. אם מתוכננת העברת נתונים שנייה לפני שההעברה הראשונה מסתיימת, רק ההעברה הראשונה תושלם. כל העברת נתונים אחרת שחופפת להעברה הראשונה תדלג.
- כדי להימנע מדילוג על העברות במסגרת הגדרת העברה יחידה, מומלץ להגדיר את תדירות החזרה כדי להגדיל את משך הזמן בין העברות של נתונים בכמות גדולה.
- במהלך העברת נתונים, המחבר של Oracle מזהה עמודות מפתח עם אינדקס וחלוקה למחיצות כדי להעביר את הנתונים באצוות מקבילות. לכן, מומלץ לציין עמודות של מפתח ראשי או להשתמש בעמודות עם אינדקס בטבלה כדי לשפר את הביצועים ולהפחית את שיעור השגיאות בהעברות הנתונים.
- אם יש לכם אילוצים של אינדקס או של מפתח ראשי, אפשר ליצור אצוות מקבילות רק עם סוגי העמודות הבאים:
INTEGERTINYINTSMALLINTFLOATREALDOUBLENUMERICBIGINTDECIMALDATE
- העברות נתונים של Oracle שלא משתמשות במפתח ראשי או בעמודות עם אינדקס לא יכולות לתמוך ביותר מ-2,000,000 רשומות לכל טבלה.
- אם יש לכם אילוצים של אינדקס או של מפתח ראשי, אפשר ליצור אצוות מקבילות רק עם סוגי העמודות הבאים:
- אם המכונה הווירטואלית (VM) והחיבור לרשת שהגדרתם נמצאים באזורים שונים, יכול להיות שתהיה תנועה של נתונים בין אזורים כשמעבירים נתונים מ-Oracle.
מגבלות על העברות מצטברות
העברות מצטברות של Oracle כפופות למגבלות הבאות:- אפשר לבחור רק
TIMESTAMPעמודות כעמודות של סימן מים. - הטמעה מצטברת נתמכת רק בנכסים עם עמודות סימן מים תקינות.
- הערכים בעמודה של סימן המים חייבים להיות בסדר עולה.
- העברות מצטברות לא יכולות לסנכרן פעולות מחיקה בטבלת המקור.
- הגדרת העברה אחת יכולה לתמוך רק בהעברה מצטברת או בהעברה מלאה.
- אי אפשר לעדכן אובייקטים ברשימה
assetאחרי ההפעלה הראשונה של ההעברה המצטברת. - אי אפשר לשנות את מצב הכתיבה בהגדרת העברה אחרי ההפעלה הראשונה של הטמעת נתונים מצטברת.
- אי אפשר לשנות את העמודה של סימן המים או את המפתח הראשי אחרי ההרצה הראשונה של הטמעת נתונים מצטברת.
- כשמעדכנים הגדרת העברה קיימת למצב של קליטת נתונים מצטברת, בהרצת העברת הנתונים הראשונה אחרי העדכון יאוחזרו כל הנתונים הזמינים ממקור הנתונים, והנתונים בטבלת היעד ב-BigQuery יימחקו ויוחלפו בנתונים החדשים. כל הפעלה עוקבת של העברה מצטברת תאחזר רק את השורות החדשות והמעודכנות ממקור הנתונים.
אפשרויות להטמעת נתונים
בקטעים הבאים מוסבר בהרחבה על האפשרויות להעברת נתונים כשמגדירים העברת נתונים מ-Oracle.
הגדרת TLS
המחבר של Oracle תומך בהגדרה של אבטחה ברמת התעבורה (TLS) כדי להצפין את העברות הנתונים ל-BigQuery. מחבר Oracle תומך בהגדרות ה-TLS הבאות:
- הצפנת נתונים ואימות של CA ושם מארח: במצב הזה מתבצע אימות מלא של השרת באמצעות TLS בפרוטוקול TCPS. הוא מצפין את כל הנתונים בזמן ההעברה ומוודא שהאישור של שרת מסד הנתונים נחתם על ידי רשות אישורים (CA) מהימנה. בנוסף, במצב הזה נבדק אם שם המארח שאליו מתחברים תואם בדיוק לשם הנפוץ (CN) או לשם חלופי של בעלים (subject) (SAN) באישור של השרת. המצב הזה מונע מהתוקפים להשתמש באישור תקף לדומיין אחר כדי להתחזות לשרת מסד הנתונים שלכם.
- אם שם המארח לא תואם ל-CN או ל-SAN של האישור, החיבור נכשל. צריך להגדיר פתרון DNS שתואם לאישור או להשתמש במצב אבטחה אחר.
- השתמשו במצב הזה כדי לקבל את האפשרות המאובטחת ביותר למניעת מתקפות מסוג 'אדם באמצע' (PITM).
- הצפנת נתונים ואימות רשות האישורים בלבד: במצב הזה כל הנתונים מוצפנים באמצעות TLS בפרוטוקול TCPS, ומאומת שהאישור של השרת נחתם על ידי רשות אישורים שהלקוח סומך עליה. עם זאת, במצב הזה לא מתבצע אימות של שם המארח של השרת. החיבור במצב הזה יצליח כל עוד האישור תקף והונפק על ידי רשות אישורים מהימנה, בלי קשר לשאלה אם שם המארח באישור תואם לשם המארח שאליו מתחברים.
- כדאי להשתמש במצב הזה אם רוצים לוודא שמתחברים לשרת שהאישור שלו חתום על ידי רשות מהימנה שמנפיקה אישורים (CA), אבל אי אפשר לאמת את שם המארח או שאין לכם שליטה על הגדרת שם המארח.
- הצפנה בלבד: במצב הזה כל הנתונים שמועברים בין הלקוח לשרת מוצפנים באמצעות הצפנה מקורית של רשת Oracle דרך יציאת ה-TCP הרגילה. היא לא מבצעת אימות של אישורים או של שמות מארחים.
- המצב הזה מספק רמת אבטחה מסוימת על ידי הגנה על נתונים במעבר, אבל הוא עלול להיות פגיע למתקפות PITM.
- משתמשים במצב הזה אם רוצים לוודא שכל הנתונים מוצפנים, אבל לא יכולים או לא רוצים לאמת את זהות השרת. מומלץ להשתמש במצב הזה כשעובדים עם רשתות VPC פרטיות.
- ללא הצפנה או אימות: במצב הזה לא מוצפנים נתונים ולא מתבצע אימות של אישורים או שמות מארחים. כל הנתונים נשלחים כטקסט רגיל.
- לא מומלץ להשתמש במצב הזה בסביבה שבה מתבצע טיפול במידע אישי רגיש.
- מומלץ להשתמש במצב הזה רק למטרות בדיקה ברשת מבודדת שבה האבטחה לא מהווה בעיה.
אישור שרת מהימן (PEM)
אם אתם משתמשים במצב הצפנת נתונים ואימות של רשות אישורים ושם מארח או במצב הצפנת נתונים ואימות של רשות אישורים, אתם יכולים לספק גם אישור אחד או יותר בקידוד PEM. האישורים האלה נדרשים בתרחישים מסוימים שבהם שירות העברת הנתונים ל-BigQuery צריך לאמת את הזהות של שרת מסד הנתונים במהלך חיבור ה-TLS:
- אם אתם משתמשים באישור שחתום על ידי רשות אישורים פרטית בארגון שלכם או באישור עם חתימה עצמית, אתם צריכים לספק את שרשרת האישורים המלאה או את האישור היחיד עם החתימה העצמית. הדבר נדרש לאישורים שהונפקו על ידי רשויות אישורים פנימיות של שירותים מנוהלים של ספקי שירותי ענן, כמו Amazon Relational Database Service (RDS).
- אם האישור של שרת מסד הנתונים שלכם נחתם על ידי רשות אישורים ציבורית (למשל, Let's Encrypt, DigiCert או GlobalSign), אתם לא צריכים לספק אישור. אישורי הבסיס של רשויות ה-CA הציבוריות האלה מותקנים מראש ומהימנים על שירות העברת הנתונים ל-BigQuery.
כשיוצרים הגדרת העברה של Oracle, אפשר לספק אישורים בקידוד PEM בשדה Trusted PEM Certificate (אישור PEM מהימן), עם הדרישות הבאות:
- האישור צריך להיות שרשרת אישורים חוקית בקידוד PEM.
- האישור חייב להיות נכון לחלוטין. אם יש אישורים חסרים בשרשרת או תוכן שגוי, חיבור ה-TLS ייכשל.
- אם יש לכם אישור יחיד, אתם יכולים לספק אישור יחיד עם חתימה עצמית משרת מסד הנתונים.
- כדי להשתמש בשרשרת אישורים מלאה שהונפקה על ידי רשות אישורים פרטית, צריך לספק את שרשרת האמון המלאה. הוא כולל את האישור משרת מסד הנתונים ואישורי ביניים ואישורי בסיס של רשות האישורים (CA).
העברות מלאות או מצטברות
כשמגדירים העברה מ-Oracle, אפשר לציין איך הנתונים ייטענו ל-BigQuery על ידי בחירה באפשרות מלאה או מצטברת בהעדפות הכתיבה בהגדרות ההעברה. העברות מצטברות נתמכות בגרסת Preview.
אפשר לבחור באפשרות מלאה כדי להעביר את כל הנתונים ממערכי הנתונים של Oracle בכל העברת נתונים.לחלופין, אפשר לבחור באפשרות מצטבר (תצוגה מקדימה) כדי להעביר רק את הנתונים שהשתנו מאז העברת הנתונים האחרונה, במקום לטעון את מערך הנתונים כולו בכל העברת נתונים. אם בוחרים באפשרות מצטבר להעברת הנתונים, צריך לציין את מצבי הכתיבה הוספה או עדכון והוספה כדי להגדיר איך הנתונים ייכתבו ל-BigQuery במהלך העברת נתונים מצטברת. בקטעים הבאים מתוארים מצבי הכתיבה הזמינים.
מצב כתיבה Append
מצב הכתיבה Append מוסיף רק שורות חדשות לטבלת היעד. האפשרות הזו מוסיפה את הנתונים שהועברו בלי לבדוק אם קיימות רשומות, ולכן המצב הזה עלול לגרום לשכפול נתונים בטבלת היעד.
כשבוחרים במצב Append (הוספה), צריך לבחור עמודה של סימן מים. כדי לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים למחבר Oracle.
בהעברות של Oracle, מומלץ לבחור עמודה שמתעדכנת רק כשהרשומה נוצרה, ולא משתנה בעדכונים הבאים. לדוגמה, העמודהCREATED_AT.
מצב כתיבה Upsert
מצב הכתיבה Upsert מעדכן שורה או מוסיף שורה חדשה בטבלת היעד על ידי בדיקה של מפתח ראשי. אתם יכולים לציין מפתח ראשי כדי לאפשר למחבר Oracle לקבוע אילו שינויים נדרשים כדי שהטבלה ביעד תהיה מעודכנת בהתאם לטבלה במקור. אם המפתח הראשי שצוין קיים בטבלה ב-BigQuery במהלך העברת נתונים, המחבר של Oracle מעדכן את השורה הזו עם נתונים חדשים מטבלת המקור. אם מפתח ראשי לא קיים במהלך העברת נתונים, מחבר Oracle מוסיף שורה חדשה.
כשבוחרים במצב Upsert, צריך לבחור עמודה של סימן מים ומפתח ראשי:
- כדי שהמחבר של Oracle יוכל לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים.
- בוחרים עמודה של סימן מים שמתעדכנת בכל פעם שמשנים שורה. מומלץ להשתמש בעמודות דומות לעמודות
UPDATED_ATאוLAST_MODIFIED.
- בוחרים עמודה של סימן מים שמתעדכנת בכל פעם שמשנים שורה. מומלץ להשתמש בעמודות דומות לעמודות
- המפתח הראשי יכול להיות עמודה אחת או יותר בטבלה, שנדרשות כדי שמחבר Oracle יקבע אם צריך להוסיף או לעדכן שורה.
- בוחרים עמודות שמכילות ערכים שאינם null, ושייחודיים לכל השורות בטבלה. מומלץ להשתמש בעמודות שכוללות מזהים שנוצרו על ידי המערכת, קודי הפניה ייחודיים (למשל מזהים עם הגדלה אוטומטית) או מזהים של רצפים שאי אפשר לשנות שמבוססים על זמן.
- כדי למנוע אובדן נתונים או פגם בנתונים, בעמודות של המפתח הראשי שבוחרים צריכים להיות ערכים ייחודיים. אם יש לכם ספק לגבי הייחודיות של העמודה שבחרתם כמפתח ראשי, מומלץ להשתמש במקום זאת במצב הכתיבה הוספה.
לפני שמתחילים
בקטעים הבאים מפורטים השלבים שצריך לבצע לפני שיוצרים העברה של Oracle.
דרישות מוקדמות של Oracle
- יוצרים פרטי כניסה של משתמש במסד הנתונים של Oracle.
- מעניקים למשתמש הרשאות מערכת ב-
Create Sessionכדי לאפשר לו ליצור סשנים. - מקצים מרחב טבלאות לחשבון המשתמש.
כשיוצרים העברה של Oracle, צריך גם את פרטי מסד הנתונים הבאים של Oracle:
| שם הפרמטר | תיאור |
|---|---|
database |
השם של מסד הנתונים. |
host |
שם המארח או כתובת ה-IP של מסד הנתונים. |
port |
מספר היציאה של מסד הנתונים. |
username |
שם המשתמש לגישה למסד הנתונים. |
password |
סיסמה לגישה למסד הנתונים. |
דרישות מוקדמות ל-BigQuery
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים.
- אם אתם מתכוונים להגדיר התראות על הפעלת העברה ב-Pub/Sub, ודאו שיש לכם הרשאה לניהול זהויות והרשאות גישה (IAM)
pubsub.topics.setIamPolicy. לא נדרשות הרשאות Pub/Sub אם מגדירים רק התראות באימייל. מידע נוסף זמין במאמר בנושא התראות על הפעלת שירות העברת נתונים ל-BigQuery.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin (roles/bigquery.admin) ב-IAM בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:
-
הרשאות של שירות העברת נתונים ל-BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
הרשאות ב-BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.
טעינת נתונים מ-Oracle ל-BigQuery
כדי להוסיף נתוני Oracle ל-BigQuery, מגדירים העברה באמצעות אחת מהאפשרויות הבאות:
המסוף
עוברים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על Create transfer (יצירת העברה).
בקטע Source type, בשדה Source, בוחרים באפשרות Oracle.
בקטע Data source details (פרטים של מקור הנתונים):
- בקטע Network attachment (צירוף לרשת), בוחרים צירוף קיים לרשת או לוחצים על Create Network Attachment (יצירת צירוף לרשת).
- בשדה מארח, מזינים את שם המארח או את כתובת ה-IP של מסד הנתונים.
- בשדה יציאה, מזינים את מספר היציאה שמשמש את מסד הנתונים של Oracle לחיבורים נכנסים, כמו
1521. - בשדה שם מסד הנתונים, מזינים את השם של מסד הנתונים של Oracle.
- בקטע סוג החיבור, מזינים את סוג כתובת ה-URL של החיבור:
SERVICE, SIDאוTNS. - בשדה Username (שם משתמש), מזינים את שם המשתמש של המשתמש שיזם את החיבור למסד הנתונים של Oracle.
- בשדה סיסמה, מזינים את הסיסמה של המשתמש שיזם את החיבור למסד הנתונים של Oracle.
- בתפריט הנפתח TLS Mode (מצב TLS), בוחרים באחת מהאפשרויות. מידע נוסף על מצבי TLS זמין במאמר בנושא הגדרת TLS.
- בשדה Trusted PEM Certificate (אישור PEM מהימן), מזינים את האישור הציבורי של רשות האישורים (CA) שהנפיקה את אישור ה-TLS של שרת מסד הנתונים. מידע נוסף זמין במאמר אישור שרת מהימן (PEM).
- בקטע סוג ההעברה, בוחרים באפשרות מלאה או מצטברת.
- אם בוחרים באפשרות מצטבר (תצוגה מקדימה) במצב כתיבה, בוחרים באפשרות הוספה או עדכון או הוספה. מידע נוסף על מצבי הכתיבה השונים זמין במאמר בנושא העברות מלאות או מצטברות.
- כדי להעביר אובייקטים של Oracle, לוחצים על עיון:
- בוחרים את האובייקטים שרוצים להעביר למערך הנתונים של היעד ב-BigQuery. אפשר גם להזין באופן ידני את כל האובייקטים שרוצים לכלול בהעברת הנתונים בשדה הזה.
- אם בחרתם באפשרות הוספה כמצב הכתיבה המצטבר, אתם חייבים לבחור עמודה כעמודת סימן המים.
- אם בחרתם באפשרות Upsert כמצב הכתיבה המצטברת, אתם צריכים לבחור עמודה כעמודת סימן המים, ואז לבחור עמודה אחת או יותר כמפתח הראשי.
בקטע הגדרות יעד, בשדה מערך נתונים, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע Transfer config name, בשדה Display name, מזינים שם להעברת הנתונים.
בקטע אפשרויות תזמון:
- ברשימה תדירות החזרה, בוחרים אפשרות כדי לציין באיזו תדירות יתבצע העברת הנתונים. כדי לציין תדירות חזרה מותאמת אישית, בוחרים באפשרות בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה הזו תתבצע כשמפעילים אותה באופן ידני.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך זמן הפעלה.
אופציונלי: בקטע אפשרויות התראות, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם ההעברה נכשלת.
- כדי להפעיל התראות על הפעלת העברה ב-Pub/Sub להעברה הזו, לוחצים על המתג התראות Pub/Sub. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומספקים את דגל יצירת ההעברה --transfer_config:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
כאשר:
- PROJECT_ID (אופציונלי): מזהה הפרויקט ב- Google Cloud .
אם לא מציינים את
--project_idכדי לציין פרויקט מסוים, המערכת משתמשת בפרויקט ברירת המחדל. - DATA_SOURCE: מקור הנתונים –
oracle. - DISPLAY_NAME: השם המוצג של הגדרות ההעברה. שם העברת הנתונים יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- DATASET: מערך הנתונים היעד להגדרת ההעברה.
PARAMETERS: הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. אלה הפרמטרים להעברת נתונים מ-Oracle:-
connector.networkAttachment(אופציונלי): שם הקובץ המצורף לרשת שאליו רוצים להתחבר למסד הנתונים של Oracle. -
connector.authentication.Username: שם המשתמש בחשבון Oracle. -
connector.authentication.Password: הסיסמה של חשבון Oracle. -
connector.database: השם של מסד הנתונים של Oracle. -
connector.endpoint.host: שם המארח או כתובת ה-IP של מסד הנתונים. -
connector.endpoint.port: מספר היציאה שבה מסד הנתונים של Oracle משתמש לחיבורים נכנסים, כמו1520. -
connector.connectionType: סוג כתובת ה-URL של החיבור, יכול להיותSERVICE,SIDאוTNS. -
connector.tls.mode: מציינים תצורת TLS לשימוש בהעברה הזו:-
ENCRYPT_VERIFY_CA_AND_HOSTלהצפנת נתונים ולאימות של CA ושם מארח -
ENCRYPT_VERIFY_CAלהצפנת נתונים ולאימות CA בלבד -
ENCRYPT_VERIFY_NONEלהצפנת נתונים בלבד -
DISABLEללא הצפנה או אימות
-
-
connector.tls.trustedServerCertificate: (אופציונלי) מציינים אישור אחד או יותר בקידוד PEM. חובה רק אם הערך שלconnector.tls.modeהואENCRYPT_VERIFY_CA_AND_HOSTאוENCRYPT_VERIFY_CA. -
ingestionType: מצייניםFULLאוINCREMENTAL. העברות מצטברות נתמכות בגרסת טרום-השקה. מידע נוסף מופיע במאמר בנושא העברות מלאות או מצטברות. -
writeMode: מצייניםWRITE_MODE_APPENDאוWRITE_MODE_UPSERT. -
watermarkColumns: מציינים עמודות בטבלה כעמודות של סימן מים. השדה הזה נדרש להעברות מצטברות. -
primaryKeys: ציון עמודות בטבלה כמפתחות ראשיים. השדה הזה נדרש להעברות מצטברות. -
assets: הנתיב לאובייקטים של Oracle שיועברו ל-BigQuery, בפורמט:DATABASE_NAME/SCHEMA_NAME/TABLE_NAME
-
כשמציינים כמה נכסים במהלך העברה מצטברת, הערכים בשדות watermarkColumns ו-primaryKeys תואמים למיקום הערכים בשדה assets. בדוגמה הבאה, dep_id תואם לטבלה DB1/USER1/DEPARTMENT, ו-report_by ו-report_title תואמים לטבלה DB1/USER1/EMPLOYEES.
"primaryKeys":[['dep_id'], ['report_by','report_title']], "assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
לדוגמה, הפקודה הבאה יוצרת העברת נתונים מ-Oracle בפרויקט ברירת המחדל עם כל הפרמטרים הנדרשים:
bq mk --transfer_config --target_dataset=mydataset --data_source=oracle --display_name='My Transfer' --params='{"assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"], "connector.authentication.username": "User1", "connector.authentication.password":"ABC12345", "connector.database":"DB1", "connector.endpoint.host":"192.168.0.1", "connector.endpoint.port":1520, "connector.connectionType":"SERVICE", "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST", "connector.tls.trustedServerCertificate": "PEM-encoded certificate", "connector.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1" "ingestionType":"incremental", "writeMode":"WRITE_MODE_APPEND", "watermarkColumns":["createdAt","createdAt"], "primaryKeys":[['dep_id'], ['report_by','report_title']]}'
API
משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הפעלה של מילוי חוסרים.
מיפוי סוגי נתונים
בטבלה הבאה מפורטים סוגי הנתונים ב-Oracle והסוגים המקבילים ב-BigQuery.
| סוג הנתונים של Oracle | סוג נתונים ב-BigQuery |
|---|---|
BFILE |
BYTES |
BINARY_DOUBLE |
FLOAT |
BINARY_FLOAT |
FLOAT |
BLOB |
BYTES |
CHAR |
STRING |
CLOB |
STRING |
DATE |
DATETIME |
FLOAT |
FLOAT |
INTERVAL DAY TO SECOND |
STRING |
INTERVAL YEAR TO MONTH |
STRING |
LONG |
STRING |
LONG RAW |
BYTES |
NCHAR |
STRING |
NCLOB |
STRING |
NUMBER (without precision and scale) |
STRING |
NUMBER (with precision and scale lower than the BigQuery Numeric range) |
NUMERIC |
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) |
BIGNUMERIC |
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) |
STRING |
NVARCHAR2 |
STRING |
RAW |
BYTES |
ROWID |
STRING |
TIMESTAMP |
DATETIME |
TIMESTAMP WITH LOCAL TIME ZONE |
DATETIME |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP |
UROWID |
STRING |
VARCHAR |
STRING |
VARCHAR2 |
STRING |
פתרון בעיות בהגדרת ההעברה
אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בעיות בהעברה של Oracle.
תמחור
למידע על התמחור של העברות Oracle, אפשר לעיין במאמר בנושא התמחור של שירות העברת נתונים.
המאמרים הבאים
- סקירה כללית של שירות העברת הנתונים ל-BigQuery זמינה במאמר מבוא לשירות העברת נתונים ל-BigQuery.
- מידע על שימוש בהעברות, כולל קבלת מידע על הגדרות העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה, זמין במאמר עבודה עם העברות.
- איך טוענים נתונים באמצעות פעולות בין עננים