מבוא ל- Azure Data Factory Flows

Azure Data Factory (ADF) הוא שירות אינטגרציה נתונים מנוהל לחלוטין, מבוסס ענן המעצימה ארגונים לתזמורת ולשותף תנועת נתונים וטרנספורמציה.בבסיסה, ADF מספק סביבה חזותית ללא קוד לבניית ETL ו- ELT צינורות. בין היכולות החזקות ביותר שלה הוא תכונה FLT:0Data FlowFLT:1, אשר מאפשר למהנדסים לעצב נתונים מורכבים באמצעות קידוד מקיף של נתונים, במקום שימוש בתבניות מורכבות של נתונים.

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

הבנת אדריכלות של זרימת נתונים ADF

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

מצבי הוצאה להורג

ADF Data Flows תומך בשני מצבי ביצוע עיקריים:

  • (FLT:0)Debug ModeFLT:1 - בשימוש עבור בדיקות אינטראקטיביות ופיתוח.זה פועל על אשכול ספא קטן (8 ליבות) ומאפשר לך להציג נתונים מקדימה בכל שלב של טרנספורמציה.
  • (FLT:0) Pipeline Runcio ModeFLT:1 - בשימוש עבור ביצוע ייצור מתוכנן או מופעל.You יכול לציין הגדרות אשכול כגון סוג compute (המטרה הכללית, Memory Optimized), ספירת הליבה, ו-Time-to-live (TTL) כדי להתאים את העלות והביצועים.

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

זרימת נתונים לעומת פעילות העתק

פעילות העתק של ADF מיועדת לטרנספורמציות מהירות גבוהה, צ'מה-אגנוסטיות של נתונים.תזרים נתונים.ד., לעומת זאת, נועדו לטרנספורמציות של סצמה-מודעות, בעוד שפעילות העתק יכולה לבצע מיפוי פשוט ושינויים קלים באמצעות הכרטיסייה FLT:0MappingFLT:1, זרימת נתונים מציעה עשרות סוגים של טרנספורמציה ויכולת לטפל בהגיון מורכב עבור תרחישים, דרישות, פונקציות מרובות, או אפשרויות בחירה, הן תכונות בחירה.

היתרונות העיקריים של זרימת נתונים

כל זרימת נתונים מורכבת משלושה קטגוריות עיקריות של רכיבים: מקורות, טרנספורמציות ו Sinks, בנוסף, ניתן להשתמש ב-SilLT:0ParametersphFLT:1 ו-FLT:2VariablesFLT 3.

מקור 1.

המקור מגדיר היכן הנתונים שלך מקורם. Azure Data Factory תומך במגוון רחב של סוגי מקור, כולל Azure Blob Storage Gen2, Azure SQL Database, Synapse Analytics, Amazon S3, Google Cloud Storage, ו-Premises Database באמצעות אינטגרציה עצמית-hosted data runtimes.כל מקור יכול להיות מוגדר עם פרטים, תבנית (Parstructured, CSVSON, JR, JR) ו-OFDOSMA) באופן אוטומטי, תכונות קריטיות עבור , , , LTSMA, , , , , , , , , , , , , , , , , , , , , , , , , , LTSMAFD.

(הפרקטיקה הטובה ביותר היא להשתמש בתבנית FLT:0)ParquetcioFLT:1 או (FLT:2Delta LakeFLT 3 עבור מקור ושקע בשל אחסון עמוד השדרה ויעילות הדחיסה שלהם.

2.טרנספורמציות

זרימת נתונים של ADF מציעה ספריית עשיר של פעילויות טרנספורמציה.אלה ניתן לסווג:

  • (ב) ,0) ראוו מודמטורים: FLT:1Build, sort, ו-Altend Row (עבור הוספת / עדכון / פעולות דלות).
  • (ב) ,0) מחוקקים: FLT:1 בחר, עמוד דרבירד, אגפרגייט, חלון, Pivot, Unpivot ודירוג.
  • (ב) [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ :0) , ⁇ : ⁇ : ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

הטרנספורמציה של טור ההרחבה (FLT:0) של ה-IIFLT:1ir (השינוי) היא בעלת עוצמה במיוחד – ניתן לבנות ביטויים באמצעות בונה ביטוי מובנה הכולל פונקציות למניפולציה, תאריך/שעה, פעולות מתמטיות, ותבנית התאמה (דומה ל-SQL). לדוגמה, באפשרותך ליצור עמודה חדשה בשם מלא על ידי שילוב של השם הראשון ו-'שם אחרון עם מרחב'.

3.Sink

(המונחים) קובע היכן נתוני המשתנים (כמו מקורות), כיור יכול להיות כל חנות נתונים נתמכת.הגדרות קריטיות כוללות פורמט קובץ, אסטרטגיה חלוקה (Hash, Dynamic, Round Robin, או File Name), ו-Producation Mode (Append vs. Overwrite) עבור אגם דלתא שוקעת, באפשרותך לאפשר ל-FLT:0MergeFal ReLT:1, 2Fdate, 3, 3, או מחסנים של 5.

יישום טרנספורמציות מורכבות: סקרנריו מפורט

בואו נלך דרך דוגמה בעולם האמיתי:0 (Customer 360 Enrichmentph:1) דמיין שיש לך שלושה מקורות נתונים גולמיים:

  • פרופיל לקוחות (CSV מ- Blob Storage)
  • היסטוריה (Parquet from ADLS Gen2)
  • קטלוג מוצרים (אזור SQL Database)

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

שלב 1: עומס ומקורות נקיים

הוסף שלושה צמתים Source. עבור פרופילי לקוחות, השתמש בעמודה דפנית כדי לתקן את פורמט 'Date OfBirth' ולהסיר שורות עם כתובות דוא"ל ללא תשלום.עבור עסקאות, מסנן עסקאות החזר (שם 'A חשוב < 0' עבור קטלוג מוצר, להצטרף ל שם הקטגוריה עם מזהה.

שלב 2: הצטרפו לעסקאות עם לקוחות

[ה]העברה [ה] ל[דרוש מקור] [ה]] [ה]] [ה]]] [ה[[המאה ה-20], ב[[1924]], [[1924]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]

שלב 3: התאספות ללקוח

(ה) ,התמ"ל (ב) ב[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]

שלב 4: עשיר עם העדפות מוצרים

השתמש בהצטרפות שנייה לצרף את קטלוג המוצר על "מוצר" (שמתקיים במקור העסקה) ולאחר מכן להוסיף ההרחבה:0PivotveFLT:1 כדי להמיר שמות קטגוריות לטורות (למשל, אלקטרוניקה, בגדים, בית) עם ספירת הרכישות בקטגוריה.

שלב 5: נאמנות טיר

הוסף את הטרנספורמציה של טור ההרחבה (FLT:0) של טור ההרחבה (FLT:0) אשר משתמשת בלוגיקה אם-else כדי להקצות תגמולי נאמנות: "אם (סוף כל) "להעביר" (Gold), אם (הפסקה כוללת > 5000, "Silver", "Bronze").

שלב 6: כתוב מידע עשיר

חיבור הפלט הסופי ל-Sink שמטרתו שולחן מסד נתונים של Azure SQL או תיקיית אגם דלתא ב- ADLS Gen2.com, הגדר את הכיור לשימוש ב-FLT:0.UpsertveFLT:1 התנהגות ב- 'CustomerID' כך שעוקבת לעדכן רשומות קיימות במקום לנסח אותן.

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

Best Practices for High-Performance Data Flows

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

  • (FLT:0)Use מתאים אשכולות מחלחלים: FIRLT:1 עבור נתונים גדולים, לבחור לפחות 16-32 ליבות.עבור פעולות זיכרון-אינסטינקט (כמו תוספות או ggregations), בחר Memory Optimized compute.
  • (FLT:0 חלקת הנתונים שלך:FLT:1 בהגדרות המקור, לאפשר חלוקה באמצעות אפשרויות חלוקה. הגדר תבנית נתיב תיקיה לקריאה רק מחיצות רלוונטיות.
  • (ב) ,0) ,מכיר מידע על דחיית: (ב) , שתף: 1) ו-Aggregations גורמים לפעולות ניכוי על פני כל המקבץ, אם אתה יכול, נתונים לפני ההצטרפות.
  • פורמטי קובץ:0 (Optimize: FLT:1) Prefer Parkt או Delta over CSV / JSON עבור מקורות ושקועים. פורמטים טוראר אלה להפחית את I / O ומנף דחיפה מוקדמת.
  • (ב) ענפי טרנספורמציה:0) ,001 , כל ענף חדש משכפל את זרם הנתונים. השתמש בפיצול תנאי רק כאשר חיוני; אחרת, תנאי מיזוג בעמודים דריסים.
  • (FLT:0) ניטור זרימת נתונים: FLT:1אנדר במוניטור ADF, לבדוק את יומני ביצוע הנתונים עבור משך זמן שלב. חפש שינויים ארוכי טווח לשקול לפרוץ אותם לצעדים קטנים יותר.

מקור: (FLT:0) , Microsoft's official Performance Guide for ADF Data FlowsFLT

מעקב וטענות של זרימת נתונים

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

  • (ב) ,0) ,[[1924]]]]
  • (ב) התפלגות נתונים:0Data SkewveFLT:1 - התפלגות בלתי אחידה של נתונים על פני מחיצות, גלויה בתפוקת הבמה.
  • (ב) ,0) ראוות'ר (ב"ה) (ב"ה)" (ב"ה)" (ב"ה)"התק"ד)" (ב"ה)"ה"ב"ה)"ה"ה"מ"ל"ל" (ה"ה)"תתתחילה" (ה)"ב"ב).

(ב) לפענוח, להשתמש ב-FLT:0) Data Flow Debugigeur ModeFLT:1 (הוא פועל על אשכול קטן ומאפשר לך לבדוק את התפוקה של כל שינוי באופן אינטראקטיבי.כדי לאבחן ביטויים מורכבים נוספים, אתה יכול להשתמש ב-FLT:2AssertFLT 3: 3 טרנספורמציה כדי לבדוק את חוקי איכות הנתונים (למשל, לא ננול (Cusert) וכישלונות ללכוד.

שיקולים ביטחוניים

(התזרים של נתונים לעתים קרובות להתמודד עם מידע רגיש.ADF משלב עם Azure Key Vault לאחסון מיתרי חיבור ותעודות.תמיד השתמש בזיהוי או אימות ראשי על גבי מפתחות חשבון אחסון.עבור נתונים במעבר, זרימת נתונים משתמשת ב-TLS; עבור נתונים במנוחה, להבטיח את יעדי האחסון שלך מוצפנים (ההגנה על ידי שטח אחסון מופעלת כברירת מחדל) ניתן ליישם שינויים בעמודה כגון מסיכה או יש זרם נתונים בתוך ביטויים:2F:2 סטרלינג (Fstring) באמצעות פונקציות:2F2F:2 סטרלינג) או LT2F) או LT2F:2F)

שיפור זרימת הנתונים עם שירותים אחרים של Azure

זרימת נתונים של ADF אינה פועלת בבידוד.ניתן לתזזזז עם פעילויות ADF אחרות לבניית צינורות מקצה לקצה:

  • (ב) ,0) פעילות פיפירית אקסטאלית: FLT:1 להפעיל צינור ADF נוסף לאחר השלמת זרימת נתונים.
  • (FLT:0) Databricks Notebook:FLT:1 עבור ניתוח מתקדם או ML inference, משלבת זרימת נתונים עם Databricks.
  • (ב) ,0 Zonee Functionseurs: FLT:1 קרא קוד שרתי מותאם אישית להעשרה הדורשת API של צד שלישי.
  • Power BI:BuildFLT:1] Ingest the Changing data into Power BI Datasets באמצעות מחבר ה-Power BI של ADF.

מקור:0 (ב) ,9) ,9.

מלכודות נפוצות וכיצד להימנע מהם

  • (FLT:0) מורכב ביותר זרימת נתונים:FLT:1 לשבור מפלצת 50 transformation לתוך מספר זרימת נתונים עם טבלאות ממריצים.זה משפר את יכולת הפעולה ומאפשר חלק מפעולות מחדש.
  • (ב) ,0) ,Ignoing schema schema schema schema schema schema schema schema schema schema 3: ב-מקור ו- Sink כדי להתמודד עם עמודות חדשות בחסד ללא כשל צינורות.
  • (FLT:0) העלאה של זמן לחיים (TTLura): FLT) 1 Set a TTL של 5-10 דקות על אשכול הייצור שלך כדי לשמור על משאבים חמים עבור זרימת נתונים לאחר מכן באותו צינור.זה יכול להפחית את ההפעלה מעל פני מעלה באופן משמעותי.
  • (FLT:0) לא באמצעות פרמטרים:FLT:1 , שמות שולחן קשיחים או נתיבי קבצים הופך צינורות נוקשה. השתמש פרמטרים צינור ולהעביר אותם לפרמטרי זרימת נתונים עבור יכולת החזר מקסימלית.

מקרים של שימוש אמיתי בעולם עבור זרימת נתונים ADF

Lakehouse ELT

ארגונים רבים משתמשים ב-Data Flows כדי להפוך את נתוני ברונזה / silver / שכבות זהב בבית נתונים של כדור הארץ.לדוגמה, חברה קמעונאית ingests גלם לתוך אזור ברונזה, ולאחר מכן משתמשת ב-Data Flows כדי לנקות, deduplicate, ולהצטבר לתוך כסף, ולבסוף להעשיר עם ממדים כדי ליצור שכבת זהב לניתוח.

זמן אמת להורדת Dashboards

שילוב של זרימת נתונים עם (FLT:0) מבוסס TriggersFLT:1 כדי לעבד נתונים הזרמת (למשל, חיישנים IoT קורא) על לוח זמנים כמעט-מציאותי. בעוד זרימת נתונים אינם זרמים (הם פועלים על מיקרו-batches), הם יכולים לרוץ כל 1-5 דקות כדי לייצר תצוגות עבור Power.

מסיכה נתונים עבור Compliance

מוסדות פיננסיים משתמשים ב-Data Flows כדי להסוות מידע המאפשר זיהוי אישי (PII) כאשר העברת נתונים מהייצור לסביבות מבחן.שימוש בביטויי טור דרבירד, הם מחליפים כתובות דוא"ל עם "concat(שמאל (דואר,1), "<@example.com") ו-"מספרי אבטחה חברתית של hash.

השוואה עם Azure Databricks

בעוד שני ADF Data Flows ו- Azure Databricks יכולים לבצע שינויים מורכבים, הם משרתים אנשים שונים כמו: Data Flows מציעים ממשק ללא קוד / קוד נמוך המתאים למהנדסי נתונים המעדיפים עיצוב חזותי וממשל מנוהל. Databricks מספק ממשק המחבר עבור מדענים ומהנדסים שזקוקים לשליטה מלאה על קוד ספארקס, ספריות מותאמות אישית ושילוב למידת מכונה לעתים קרובות, הגישה הטובה ביותר היא שימוש היברידית עבור נתונים סטנדרטיים עבור טיהור נתונים ומודלים לאימון מתקדם ומודולים לאימון נתונים או .

מקור:0 (בשיתוף פעולה עם ADF Data Flow ו- Azure Databricksph:1)

מסקנה

Azure Data Factory Flows מספקים פלטפורמה עוצמתית, מדרגית וויזואלית עבור שינויים מורכבים בנתונים בענן. על ידי שליטה במקורות, שינויים, שוקעים, ותצורה שלהם, מהנדסי נתונים יכולים לבנות צינורות ETL /ELT חזקים אשר להפחית את זרימת הזמן לראייה תוך שמירה על יכולת שמירת קוד ללא קוד.עם הפרקטיקה הטובה ביותר, ניטור, ודפוסי שילוב המתוארים במאמר זה, אתה היטב מצוידת כדי ליישם פתרונות נתונים מתקדמים באופן הדרגתי, החל מתואם עם פתרונות נתונים.

לקריאה נוספת, לחקור את תיעוד Microsoft הרשמי על FLT:0Data Flow ModeFigferer 1 ו-FLT:2 ביטוי פונקציות ההתייחסות FLT 3:2