מקור אצווה של Redshift

בדף הזה מוסבר איך לטעון נתונים ממופע של Amazon Redshift אלGoogle Cloud באמצעות Cloud Data Fusion. מחבר המקור של Redshift מאפשר לסנכרן טבלאות ממערך הנתונים של Redshift ליעד, כמו BigQuery. המחבר מאפשר גם ליצור שאילתת SQL שניתנת להגדרה.

לפני שמתחילים

  • ב-Cloud Data Fusion בגרסה 6.9.0 ואילך יש תמיכה במקור Redshift.
  • כשמגדירים את מחבר המקור של Redshift, אפשר לבחור חיבור קיים שאפשר להשתמש בו שוב, או ליצור חיבור חדש חד-פעמי. מידע נוסף מופיע במאמר ניהול קישורים. כשמשתמשים מחדש בחיבור, חשוב לשים לב לדברים הבאים:

    • לא צריך לספק פרטי כניסה.
    • החיבור הקיים מספק את הסכימה ואת שם הטבלה שמשמשים ליצירת שאילתת הייבוא.

הגדרת הפלאגין

  1. עוברים לממשק האינטרנט של Cloud Data Fusion ולוחצים על Studio.

  2. מוודאים שהאפשרות Data Pipeline - Batch (צינור נתונים – אצווה) נבחרה (ולא Realtime (זמן אמת)).

  3. בתפריט מקור, לוחצים על Redshift. צומת Redshift יופיע בפייפליין. אם מקור Redshift לא מופיע בדף Studio, צריך לפרוס את מחבר מקור Redshift מ-Cloud Data Fusion Hub.

  4. כדי להגדיר את המקור, עוברים לצומת Redshift ולוחצים על Properties (מאפיינים).

  5. מזינים את המאפיינים הבאים. רשימה מלאה זמינה במאמר בנושא מאפיינים.

    1. מזינים תווית לצומת Redshift – לדוגמה, Redshift tables.
    2. מזינים את פרטי החיבור. אתם יכולים להגדיר חיבור חדש וחד-פעמי או חיבור קיים שאפשר להשתמש בו שוב.

      חיבור חדש

      כדי להוסיף חיבור חד-פעמי ל-Redshift, פועלים לפי השלבים הבאים:

      1. משאירים את ההגדרה שימוש בחיבור מושבתת.
      2. בשדה JDBC driver name (שם מנהל ההתקן של JDBC), מזינים את שם מנהל ההתקן. ‫Redshift תומך בשני סוגים של מנהלי התקנים של JDBC: ‏ CData ו-Amazon. מידע נוסף זמין במאמר בנושא העלאת מנהל התקן JDBC.
      3. בשדה מארח, מזינים את נקודת הקצה של אשכול Redshift. לדוגמה: cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. אופציונלי: בשדה יציאה, מזינים מספר יציאה של מסד נתונים – לדוגמה, 5439.
      5. אם מסד הנתונים של Redshift דורש אימות, צריך לבצע את הפעולות הבאות:

        1. בשדה שם משתמש, מזינים את השם של מסד הנתונים.
        2. בשדה סיסמה, מזינים את הסיסמה למסד הנתונים.
        3. אופציונלי: בשדה Arguments (ארגומנטים), מזינים ארגומנטים של ערכי מפתח. כדי להשתמש בדרייבר CData, צריך לספק את ארגומנטי החיבור, כמו RTK או OEMKey, אם רלוונטי.
        4. בשדה שם, מזינים שם – לדוגמה, SN-PC-Source-01-01-2024.
        5. מזינים את שם מסד הנתונים של היעד בשדה Database (מסד נתונים) – לדוגמה, datafusiondb.

      חיבור לשימוש חוזר

      כדי לעשות שימוש חוזר בחיבור קיים, פועלים לפי השלבים הבאים:

      1. מפעילים את האפשרות שימוש בחיבור.
      2. לוחצים על Browse connections (עיון בחיבורים).
      3. לוחצים על שם החיבור.

      4. אופציונלי: אם לא קיים חיבור ואתם רוצים ליצור חיבור חדש לשימוש חוזר, לוחצים על הוספת חיבור ופועלים לפי השלבים בכרטיסייה חיבור חדש בדף הזה.

    3. בשדה Import query (ייבוא שאילתה), מזינים שאילתה באמצעות שמות הסכימה והטבלה ממקור Redshift – לדוגמה, Select * from "public"."users".

    4. אופציונלי: מזינים מאפיינים של Advanced, כמו שאילתת תיחום או מספר פיצולים. לתיאורים של כל הנכסים, אפשר לעיין במאמר בנושא נכסים.

  6. אופציונלי: לוחצים על אימות ופותרים את השגיאות שנמצאו.

  7. לוחצים על סגירה. המאפיינים נשמרים ואפשר להמשיך לבנות את צינור הנתונים בממשק האינטרנט של Cloud Data Fusion.

מאפיינים

מאפיין (property) תמיכה בפקודות מאקרו לאוטומציה מאפיין חובה תיאור
תווית לא כן השם של הצומת בצינור הנתונים.
שימוש בחיבור לא לא מחפשים את החיבור למקור. אם האפשרות Use connection (שימוש בחיבור) מופעלת, לא צריך לספק פרטי כניסה.
חיבור כן כן השם של החיבור שבו רוצים להשתמש. אם האפשרות שימוש בחיבור מסומנת, השדה הזה מופיע. המידע על מסד הנתונים והטבלה מסופק על ידי הקישור.
שם מנהל ההתקן של JDBC כן כן השם של מנהל התקן JDBC שבו רוצים להשתמש. אם האפשרות Use connection (שימוש בחיבור) לא מסומנת, השדה הזה מופיע.
מארח כן כן נקודת הקצה של אשכול Amazon Redshift. אם לא מסומנת האפשרות Use connection, השדה הזה מופיע.
יציאה כן לא היציאה שבה פועל Redshift. אם האפשרות Use connection (שימוש בחיבור) לא מסומנת, השדה הזה מופיע.
שם משתמש כן לא זהות המשתמש להתחברות למסד הנתונים שצוין. אם לא מסומנת האפשרות Use connection, השדה הזה מופיע.
סיסמה כן לא הסיסמה שמשמשת לחיבור למסד הנתונים שצוין. אם לא מסומנת האפשרות Use connection, השדה הזה מופיע.
ארגומנטים של חיבור כן לא רשימה של צמדי מפתח/ערך של מחרוזות שרירותיות כארגומנטים של חיבור. הארגומנטים האלה מועברים לדרייבר JDBC כארגומנטים של חיבור לדרייברים של JDBC, שאולי יזדקקו להגדרות נוספות. אם לא מסומנת האפשרות Use connection, השדה הזה מופיע.
שם הפניה לא כן מזהה באופן ייחודי את המקור הזה לצורך מעקב אחר מקורות נתונים, הוספת הערות למטא-נתונים ושירותים אחרים.
מסד נתונים כן כן השם של מסד הנתונים ב-Redshift. כדי לבחור נתונים, לוחצים על עיון במסד הנתונים.
שאילתת ייבוא כן כן שאילתת SELECT שמשמשת לייבוא נתונים מהטבלה שצוינה.
שאילתת תיחום כן לא שאילתת SQL שמחזירה את הערכים המינימליים והמקסימליים מהשדה splitBy. לדוגמה: SELECT MIN(id),MAX(id) FROM table. לא חובה אם הערך של numSplits הוא 1.
פיצול עמודה כן לא שם השדה שמשמש ליצירת פיצולים. לא חובה אם הערך של numSplits הוא 1.
מספר הפיצולים כן לא מספר הפיצולים שייווצרו.
גודל כן לא מספר השורות שיש לאחזר בכל פעם לכל פיצול. גודל אחזור גדול יותר יכול להוביל לייבוא מהיר יותר, אבל על חשבון שימוש גבוה יותר בזיכרון. אם לא מציינים ערך, ברירת המחדל היא 1000.

מיפוי של סוגי נתונים

בטבלה הבאה מפורטים סוגי נתונים ב-Redshift עם הסוגים התואמים ב-CDAP:

סוג הנתונים ב-Redshift סוג נתונים של סכימה ב-CDAP
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precision, scale)/decimal(precision, scale) decimal
numeric עם דיוק 0 string
real float
smallint int
super string
text string
time [ (p) ] בלי אזור זמן time
time [ (p) ] עם אזור זמן string
timestamp [ (p) ] בלי אזור זמן timestamp
timestamp [ (p) ] עם אזור זמן timestamp
varbyte byte
xml string

שיטות מומלצות

השיטות המומלצות הבאות רלוונטיות כשמתחברים לאשכול Redshift מ-Google Cloud.

שימוש ברשימות היתרים של כתובות IP

כדי למנוע גישה ממקורות לא מורשים ולהגביל את הגישה לכתובות IP ספציפיות, צריך להפעיל אמצעי בקרה על הגישה באשכול Redshift.

אם אתם משתמשים באמצעי בקרה לגישה ב-Redshift, כדי לגשת לאשכול ב-Cloud Data Fusion, פועלים לפי השלבים הבאים:

  1. מקבלים את כתובות ה-IP החיצוניות של השירותים או המכונות ב-Google Cloud שחייבים להתחבר לאשכול Redshift, כמו כתובת ה-IP של שרת ה-Proxy (ראו הצגת כתובות IP). בשביל אשכולות של Managed Service for Apache Spark, צריך לקבל את כתובות ה-IP של כל הצמתים הראשיים והצאצאים.
  2. מוסיפים את כתובות ה-IP לרשימת היתרים בקבוצות האבטחה על ידי יצירת כללי דואר נכנס עבור כתובות ה-IP של המכונה Google Cloud .

  3. מוסיפים את מאפייני החיבור ב-Wrangler ובודקים אותם:

    1. פותחים את מכונת Cloud Data Fusion בממשק האינטרנט.
    2. לוחצים על Wrangler > Add connection ויוצרים את החיבור החדש ל-Redshift.
    3. מזינים את כל מאפייני החיבור.
    4. לוחצים על בדיקת החיבור ופותרים את הבעיות.

כדי ליצור כמה פיצולים, משתמשים בשאילתות תחומות

כדי לבצע כמה פיצולים, משתמשים בשאילתות תחומות כדי לנהל את האשכול מרובה הצמתים. בתרחישים שבהם אתם מחלצים נתונים מ-Redshift ומפיצים את העומס באופן אחיד בין כל הצמתים, צריך להגדיר שאילתת תיחום במאפיינים של מחבר המקור של Redshift.

  1. בצינור Cloud Data Fusion בדף Studio, עוברים לצומת Redshift ולוחצים על Properties (מאפיינים).
  2. במאפיינים מתקדם, מציינים את הפרטים הבאים:

    1. מזינים את מספר הפיצולים שרוצים ליצור.
    2. מזינים את גודל האחזור לכל פיצול.
    3. מזינים שאילתת תיחום להחלה על אשכול Redshift מרובה צמתים.
    4. מזינים את שם השדה פיצול עמודה.

לדוגמה, נניח שיש לכם את תרחיש השימוש הבא:

  • יש לכם טבלה שמכילה 10 מיליון רשומות.
  • יש לו עמודה ייחודית של מזהים בשם id.
  • באשכול Redshift יש 4 צמתים.
  • המטרה: כדי לנצל את הפוטנציאל של האשכול, אתם מתכננים ליצור כמה פיצולים. כדי לעשות את זה, משתמשים בהגדרות המאפיינים הבאות:

    • בשדה Bounding query, מזינים את השאילתה הבאה:

      SELECT MIN(id), MAX(id) FROM tableName
      

      בשאילתה הזו, id הוא שם העמודה שבה מוחלים הפיצולים.

    • בשדה Split column (פיצול העמודה), מזינים את שם העמודה, id.

    • מזינים את מספר הפיצולים ואת גודל האחזור. הנכסים האלה מקושרים זה לזה, כך שאפשר לחשב פיצולים על סמך גודל האחזור, או להיפך. לצורך הדוגמה הזו, מזינים את הפרטים הבאים.

    • בשדה Number of splits (מספר הפיצולים), מזינים 40. בדוגמה הזו, שבה בטבלה יש עשרה מיליון רשומות, יצירת 40 פיצולים תגרום לכך שכל פיצול יכיל 250,000 רשומות.

    • בשדה Fetch size (גודל האחזור), מזינים 250,000.

המאמרים הבאים