Dataplex Universal Catalog מספק תבניות (שמופעלות על ידי Dataflow) לביצוע משימות נפוצות של הטמעת נתונים, עיבוד נתונים וניהול מחזור החיים של הנתונים. במדריך הזה מוסבר איך להגדיר ולהפעיל תבנית שקולטת נתונים באמצעות חיבור JDBC.
לפני שמתחילים
תבניות המשימות של Dataplex Universal Catalog מבוססות על Dataflow. לפני שמשתמשים בתבניות, צריך להפעיל את ממשקי ה-API של Dataflow.
תבנית: טעינת נתונים ל-Dataplex Universal Catalog באמצעות חיבור JDBC
תבנית ההטמעה של Dataplex Universal Catalog JDBC מעתיקה נתונים ממסד נתונים רלציוני אל יעד נכס של Dataplex Universal Catalog. הנכס של Dataplex Universal Catalog יכול להיות נכס של Cloud Storage או נכס של BigQuery.
צינור עיבוד הנתונים הזה משתמש ב-JDBC כדי להתחבר למסד הנתונים הרלציוני. כדי להוסיף שכבת הגנה, אפשר גם להעביר מפתח Cloud KMS יחד עם פרמטרים של שם משתמש, סיסמה ומחרוזת חיבור בהצפנת Base64, שמוצפנים באמצעות מפתח Cloud KMS.
התבנית מטפלת בשקיפות בסוגי הנכסים השונים. הנתונים שמאוחסנים בנכס Cloud Storage מחולקים למחיצות בסגנון Hive, והגילוי של Dataplex Universal Catalog הופך אותם לזמינים באופן אוטומטי כטבלה ב-Data Catalog (הוצא משימוש), ב-BigQuery (טבלה חיצונית) או במופע Dataproc Metastore שמצורף.
פרמטרים של תבניות
| פרמטר | תיאור |
|---|---|
driverJars |
מפרידים בין הנתיבים של Cloud Storage למנהלי התקנים של JDBC באמצעות פסיקים.
לדוגמה, gs://your-bucket/driver_jar1.jar,
gs://your-bucket/driver_jar2.jar. |
connectionURL |
מחרוזת החיבור של כתובת ה-URL לחיבור למקור JDBC.
לדוגמה, jdbc:mysql://some-host:3306/sampledb.
אפשר להעביר את כתובת ה-URL של החיבור כטקסט רגיל או כמחרוזת בקידוד Base64 שמוצפנת על ידי Cloud KMS. |
driverClassName |
שם המחלקה של מנהל ההתקן של JDBC.
לדוגמה, com.mysql.jdbc.Driver. |
connectionProperties |
מחרוזת המאפיינים לשימוש בחיבור JDBC.
לדוגמה, unicode=true&characterEncoding=UTF-8. |
query |
השאילתה שתופעל במקור כדי לחלץ את הנתונים.
לדוגמה, select * from sampledb.sample_table. |
outputAsset |
מזהה נכס הפלט של Dataplex Universal Catalog שבו מאוחסנות התוצאות. למזהה, משתמשים בפורמט projects/your-project/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name></code>. אפשר למצוא את
outputAsset במסוף Google Cloud , בכרטיסייה פרטים של נכס Dataplex Universal Catalog. |
username |
שם המשתמש שישמש לחיבור JDBC. אפשר להעביר את שם המשתמש כטקסט רגיל או כמחרוזת בקידוד Base64 שמוצפנת על ידי Cloud KMS. |
password |
הסיסמה שתשמש לחיבור JDBC. אפשר להעביר את הסיסמה כטקסט רגיל או כמחרוזת בקידוד Base64 שמוצפנת על ידי Cloud KMS. |
outputTable |
המיקום של הטבלה ב-BigQuery או השם של תיקיית העל ב-Cloud Storage שאליה ייכתבו התוצאות. אם זה מיקום של טבלת BigQuery, הסכימה של הטבלה צריכה להיות זהה לסכימה של שאילתת המקור, והיא צריכה להיות בפורמט some-project-id:somedataset.sometable.
אם מדובר בתיקייה עליונה ב-Cloud Storage, צריך לציין את שם התיקייה העליונה. |
KMSEncryptionKey |
אופציונלי: אם מספקים את הפרמטר KMSEncryptionKey, צריך לוודא שהפרמטרים password, username ו-connectionURL מוצפנים על ידי Cloud KMS. הצפנה של הפרמטרים האלה באמצעות נקודת הקצה להצפנה של Cloud KMS API. לדוגמה, projects/your-project/locations/global/keyRings/test/cryptoKeys/quickstart. |
writeDisposition |
אופציונלי: השיטה שבה יש להשתמש אם קובץ או טבלת היעד קיימים. הפורמטים הנתמכים הם WRITE_APPEND (השורות יצורפו אם הטבלה קיימת), WRITE_TRUNCATE (הטבלה או הקובץ יוחלפו), WRITE_EMPTY (טבלת הפלט צריכה להיות ריקה או שקובץ הפלט לא צריך להתקיים) ו-SKIP (המערכת תדלג על כתיבה לקובץ אם הוא קיים). ב-BigQuery, הפורמטים המותרים הם: WRITE_APPEND,
WRITE_TRUNCATE, WRITE_EMPTY. ב-Cloud Storage, הפורמטים המותרים הם: SKIP, WRITE_TRUNCATE ו-WRITE_EMPTY. ברירת מחדל: WRITE_EMPTY.
|
partitioningScheme |
אופציונלי: סכימת החלוקה למחיצות כשכותבים את הקובץ. ערך ברירת המחדל של הפרמטר הזה הוא DAILY. ערכים אחרים של הפרמטר יכולים להיות MONTHLY או HOURLY. |
partitionColumn |
אופציונלי: עמודת החלוקה שעליה מבוססת החלוקה. הפורמט של סוג העמודה חייב להיות timestamp/date. אם לא מספקים את הפרמטר partitionColumn, הנתונים לא יחולקו למחיצות. |
fileFormat |
אופציונלי: פורמט קובץ הפלט ב-Cloud Storage. הקבצים דחוסים באמצעות הגדרת ברירת המחדל של דחיסת Snappy. ערך ברירת המחדל של הפרמטר הזה הוא PARQUET. ערך נוסף של הפרמטר הוא AVRO. |
updateDataplexMetadata |
אופציונלי: האם לעדכן את המטא-נתונים של Dataplex Universal Catalog עבור הישויות החדשות שנוצרו. ערך ברירת המחדל של הפרמטר הזה הוא אם האפשרות הזו מופעלת, הצינור יעתיק אוטומטית את הסכימה מהמקור לישויות היעד ב-Dataplex Universal Catalog, והגילוי האוטומטי של Dataplex Universal Catalog לא יפעל עבורן. משתמשים בדגל הזה במקרים שבהם יש סכימה מנוהלת במקור. התכונה נתמכת רק ביעד Cloud Storage. |
הפעלת התבנית
המסוף
נכנסים לדף Process של Dataplex Universal Catalog במסוף Google Cloud :
לוחצים על יצירת משימה.
בקטע Ingest JDBC to Dataplex (הטמעה של JDBC ב-Dataplex), לוחצים על Create task (יצירת משימה).
בוחרים אגם Dataplex Universal Catalog.
מזינים שם למשימה.
בוחרים אזור לביצוע המשימה.
ממלאים את הפרמטרים הנדרשים.
לוחצים על Continue.
gcloud
במעטפת או בטרמינל, מריצים את התבנית הבאה:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_JDBC_Ingestion_Preview \ --parameters \ driverJars=DRIVER_JARS,\ connectionUrl=CONNECTION_URL,\ driverClassName=DRIVER_CLASS_NAME,\ connectionProperties=CONNECTION_PROPERTIES,\ query=QUERY\ outputAsset=OUTPUT_ASSET\
מחליפים את מה שכתוב בשדות הבאים:
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID DRIVER_JARS: path to your JDBC drivers CONNECTION_URL: your JDBC connection URL string DRIVER_CLASS_NAME: your JDBC driver class name CONNECTION_PROPERTIES: your JDBC connection property string QUERY: your JDBC source SQL query OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID
API ל-REST
שליחת בקשת HTTP POST:
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
"launch_parameter": {
"jobName": "JOB_NAME",
"parameters": {
"driverJars": "DRIVER_JARS",
"connectionUrl": "CONNECTION_URL",
"driverClassName": "DRIVER_CLASS_NAME",
"connectionProperties": "CONNECTION_PROPERTIES",
"query": "QUERY"
"outputAsset": "OUTPUT_ASSET"
},
"containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_JDBC_Ingestion_Preview",
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice DRIVER_JARS: path to your JDBC drivers CONNECTION_URL: your JDBC connection URL string DRIVER_CLASS_NAME: your JDBC driver class name CONNECTION_PROPERTIES: your JDBC connection property string QUERY: your JDBC source SQL query OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID