איכות הנתונים ממלאת תפקיד חשוב בעת בניית צינור חילוץ, טרנספורמציה וטעינה (ETL) לשליחת נתונים ליישומים אנליטיים במורד הזרם ולמודלים של למידת מכונה (ML). האנלוגיה "זבל פנימה, זבל החוצה" מתאימה לתאר מדוע חשוב לסנן נתונים גרועים לפני עיבוד נוסף. ניטור רציף של איכות הנתונים והשוואתם עם מדדי יעד מוגדרים מראש עוזרים לך לעמוד במסגרות הממשל שלך.
בנובמבר 2020, AWS הודיעה על הזמינות הכללית של AWS דבק DataBrew, כלי חדש להכנת נתונים חזותיים שעוזר לך לנקות ולנרמל נתונים מבלי לכתוב קוד. זה מקטין את הזמן שלוקח להכין נתונים לניתוח ו-ML בשיעור של עד 80% בהשוואה לגישות מסורתיות להכנת נתונים.
בפוסט זה, אנו עוברים על פתרון שבו אנו מיישמים כללים עסקיים שונים כדי לקבוע את איכות הנתונים הנכנסים ולהפריד בין רשומות טובות ורעות. יתר על כן, אנו מפרסמים כרטיס ניקוד איכות נתונים באמצעות אמזון קוויקסייט ולהפוך רשומות לזמינות לניתוח נוסף.
השתמש בסקירת המקרים
במקרה השימוש שלנו, אנו משתמשים במערך נתונים ציבורי הזמין להורדה בכתובת רישומי חולים סינתטיים עם COVID-19. הוא מכיל 100,000 רישומי חולים סינתטיים בפורמט CSV. הנתונים המתארחים בתוך SyntheticMass נוצרו על ידי SyntheaTM, סימולציית אוכלוסיית חולים בקוד פתוח שזמינה על ידי תאגיד MITER.
כאשר אנו פותחים את ה- 100k_synthea_covid19_csv.zip
קובץ, אנו רואים את קבצי ה-CSV הבאים:
- אלרגיות.csv
- Careplans.csv
- Conditions.csv
- Devices.csv
- Encounters.csv
- Imaging_studies.csv
- חיסונים.csv
- Medications.csv
- Observations.csv
- ארגונים.csv
- Patients.csv
- Payer_transitions.csv
- Payers.csv
- Procedures.csv
- Providers.csv
- Supplies.csv
אנו מבצעים את בדיקות איכות הנתונים המסווגות לפי ממדי איכות הנתונים הבאים:
- שְׁלֵמוּת
- עֲקֵבִיוּת
- שלמות
במקרה השימוש שלנו, קובצי CSV אלה נשמרים על ידי צוות קליטת הנתונים של הארגון שלך, אשר מעלה את קובץ ה-CSV המעודכן אל שירות אחסון פשוט של אמזון (Amazon S3) כל שבוע. הרשומות הטובות והרעות מופרדות באמצעות סדרה של שלבי הכנת נתונים, והצוות העסקי משתמש בנתוני הפלט כדי ליצור דוחות בינה עסקית (BI).
סקירה כללית של אדריכלות
הארכיטקטורה הבאה משתמשת ב-DataBrew להכנת נתונים ובניית מדדי KPI מרכזיים, אמזונה אתנה לניתוח נתונים עם SQL סטנדרטי, ו-QuickSight לבניית כרטיס ניקוד איכות הנתונים.
זרימת העבודה כוללת את השלבים הבאים:
- צוות ההטמעה מקבל קובצי CSV בדלי קלט S3 מדי שבוע.
- עבודת DataBrew המתוכננת לפעול מדי שבוע מפעילה את עבודת המתכון.
- DataBrew מעבד את קבצי הקלט ומייצר קבצי פלט המכילים שדות נוספים בהתאם להיגיון של עבודת המתכון.
- לאחר כתיבת נתוני הפלט, אנו יוצרים טבלה חיצונית מעליה על ידי יצירה והרצה של an סורק דבק AWS.
- הרשומות הטובות והרעות מופרדות על ידי יצירת תצוגות על גבי הטבלה החיצונית.
- מנתחי נתונים יכולים להשתמש באתנה כדי לנתח רשומות טובות ורעות.
- ניתן גם להפריד את הרשומות ישירות באמצעות שדות מחושבים של QuickSight.
- אנו משתמשים ב-QuickSight כדי ליצור את כרטיס ניקוד איכות הנתונים בצורה של לוח מחוונים, שמביא נתונים דרך Athena.
תנאים מוקדמים
לפני תחילת הדרכה זו, ודא שיש לך את ההרשאות הנדרשות ליצירת המשאבים הנדרשים כחלק מהפתרון.
בנוסף, צור את דלי הקלט והפלט של S3 כדי ללכוד את הנתונים, והעלה את נתוני הקלט לתוך דלי הקלט.
צור מערכי נתונים של DataBrew
כדי ליצור מערך נתונים של DataBrew עבור נתוני המטופל, בצע את השלבים הבאים:
- במסוף DataBrew בחר מערכי נתונים.
- בחרו חבר מערך נתונים חדש.
- בעד שם ערכת נתונים, הזן שם (לפוסט זה,
Patients
). - בעד הזן את המקור שלך מ-S3, הזן את נתיב S3 של קלט ה-CSV של המטופלים.
- בחרו צור מערך נתונים.
חזור על שלבים אלה כדי ליצור מערכי נתונים עבור קובצי CSV אחרים, כגון מפגשים, תנאים וכן הלאה.
צור פרוייקט DataBrew
כדי ליצור פרויקט DataBrew עבור נתונים שיווקיים, בצע את השלבים הבאים:
- במסוף DataBrew בחר פרויקטים.
- בחרו צור פרוייקט.
- בעד שם הפרוייקט, הזן שם (לפוסט זה,
patients-data-quality
). - בעד בחר מערך נתונים, בחר מערכי הנתונים שלי.
- בחר
patients
מערך נתונים. - תַחַת הרשאות, עבור שם התפקיד, בחר AWS זהות וניהול גישה תפקיד (IAM) המאפשר ל-DataBrew לקרוא ממיקום הקלט של Amazon S3 שלך.
אתה יכול לבחור תפקיד אם כבר יצרת אחד, או ליצור תפקיד חדש. למידע נוסף, ראה הוספת תפקיד IAM עם הרשאות משאבי נתונים.
- המתן עד לטעינת מערך הנתונים (בערך 1-2 דקות).
- כדי לבצע בדיקת עקביות, בחר תאריך לידה.
- על צור בתפריט, בחר עמודת דגל.
- תַחַת צור עמודה, עבור ערכים לסמן, בחר ערך מותאם אישית.
- בעד טור מקור, בחר תאריך לידה.
- בעד ערכים לסמן, הזן את הביטוי הרגולרי
(?:(?:18|19|20)[0-9]{2})
. - בעד סגל ערכי כ, בחר כן או לא.
- בעד טור יעד, להיכנס BIRTHDATE_מסוגל.
העמודה החדשה BIRTHDATE_FLAGGED
כעת מוצג Yes
לשנה תקפה בת ארבע ספרות בתוך BIRTHDATE
.
- כדי ליצור בדיקת שלמות, חזור על השלבים הקודמים ליצירת א
DRIVERS_FLAGGED
על ידי בחירה ב-DRIVERS
עמודה לסימון ערכים חסרים. - כדי ליצור בדיקת תקינות, בחר את להצטרף טרנספורמציה.
- בחר את
encounters
מערך נתונים ובחר הַבָּא. - בעד בחר סוג הצטרפות, בחר שמאל להצטרף.
- בעד הצטרפו מפתחות, בחר Id ל לוח א ו חולה ל לוח ב.
- תַחַת רשימת עמודות, בטל את הבחירה בכל העמודות מטבלה B למעט
Patient
. - בחרו סיום.
- בחר את
Patient
עמודה וצור עמודת דגל נוספתPATIENTS_FLAG
כדי לסמן ערכים חסרים מה-Patient
עמודה.
במקרה השימוש שלנו, יצרנו שלוש עמודות חדשות כדי להדגים בדיקות איכות נתונים עבור ממדי איכות נתונים בהיקף (עקביות, שלמות ושלמות), אך ניתן לשלב טרנספורמציות נוספות על אותן עמודות או נוספות לפי הצורך.
- לאחר שתסיים ליישם את כל השינויים שלך, בחר לפרסם על המתכון.
- הזינו תיאור של גרסת המתכון ובחרו לפרסם.
צור משימת DataBrew
כעת, כשהמתכון שלנו מוכן, אנו יכולים ליצור עבורו עבודה, אשר מופעלת דרך שלנו AWS למבדה פונקציות.
- במסוף DataBrew בחר מקומות תעסוקה.
- בחרו צור עבודה.
- בעד שם העבודה¸ הזן שם (למשל,
patient-data-quality
).
המתכון שלך כבר מקושר למשרה.
- תַחַת הגדרות פלט עבודהל סוג קובץ, בחר את פורמט האחסון הסופי שלך (עבור פוסט זה, אנו בוחרים CSV).
- בעד מיקום S3, הזן את נתיב דלי הפלט הסופי של S3.
- בעד דְחִיסָה, בחר את סוג הדחיסה שברצונך להחיל (עבור פוסט זה, אנו בוחרים ללא חתימה).
- בעד אחסון פלט קבצים, בחר החלף קבצי פלט עבור כל הפעלת עבודה.
אנו בוחרים באפשרות זו מכיוון שהמקרה שלנו הוא פרסום כרטיס ניקוד איכות נתונים עבור כל קבוצה חדשה של קבצי נתונים.
- תַחַת הרשאות, עבור שם התפקיד¸ בחר את תפקיד IAM שלך.
- בחרו צור והפעל עבודה.
צור טבלת אתנה
אם אתה מכיר את Apache Hive, אולי תמצא יצירת טבלאות על Athena להיות מוכר. אתה יכול ליצור טבלאות על ידי כתיבת הצהרת DDL בעורך השאילתות, או על ידי שימוש באשף או נהג JDBC. כדי להשתמש בעורך השאילתות, הזן את הצהרת ה-DDL הבאה כדי ליצור טבלה:
בואו נאמת את פלט הטבלה באתנה על ידי הפעלת שאילתת SELECT פשוטה. צילום המסך הבא מציג את הפלט.
צור תצוגות כדי לסנן רשומות טובות ורעות (אופציונלי)
כדי ליצור תצוגת רשומות טובות, הזן את הקוד הבא:
כדי ליצור תצוגת רשומות גרועות, הזן את הקוד הבא:
כעת יש לך את היכולת לשאול את הרשומות הטובות והרעות באתנה באמצעות תצוגות אלה.
צור כרטיס ניקוד באמצעות QuickSight
כעת נשלים את השלב האחרון שלנו בארכיטקטורה, שהוא יצירת כרטיס ניקוד לאיכות נתונים באמצעות QuickSight על ידי חיבור לטבלת Athena.
- במסוף QuickSight, בחר אתנה כמקור הנתונים שלך.
- בעד שם מקור הנתונים, הכנס שם.
- בחרו צור מקור נתונים.
- בחר את הקטלוג ומסד הנתונים שלך.
- בחר את הטבלה שיש לך באתנה.
- בחרו בחר.
כעת יצרת מערך נתונים.
כדי לבנות את כרטיס הניקוד, אתה מוסיף שדות מחושבים על ידי עריכת מערך הנתונים blog_output
.
- אתר את מערך הנתונים שלך.
- בחרו ערוך מערך נתונים.
- בחרו הוסף שדה מחושב.
- הוסף את השדה
DQ_Flag
עם ערךifelse({birthdate_flagged} = 'No' OR {drivers_flagged} = 'Yes' OR {patient_flagged} = 'Yes' , 'Invalid', 'Valid')
.
באופן דומה, הוסף שדות מחושבים אחרים.
- הוסף את השדה
% Birthdate Invalid Year
עם ערךcountIf({birthdate_flagged}, {birthdate_flagged} = 'No')/count({birthdate_flagged})
. - הוסף את השדה
% Drivers Missing
עם ערךcountIf({drivers_flagged}, {drivers_flagged} = 'Yes')/count({drivers_flagged})
. - הוסף את השדה
% Patients missing encounters
עם ערךcountIf({patient_flagged}, {patient_flagged} = 'Yes')/count({patient_flagged})
. - הוסף את השדה
% Bad records
עם הערךcountIf({DQ_Flag}, {DQ_Flag} = 'Invalid')/count({DQ_Flag})
.
עכשיו אנחנו יוצרים את הניתוח blog_output_analysis
.
- שנה את הפורמט של השדות המחושבים כדי להציג את אָחוּז פורמט.
- התחל להוסיף חזותיים על ידי בחירה הוסף ויזואלי על + הוסף תפריט.
כעת תוכל ליצור דוח מהיר כדי להמחיש את כרטיס ניקוד איכות הנתונים שלך, כפי שמוצג בצילום המסך הבא.
אם QuickSight משתמש תבלין אחסון, עליך לרענן את מערך הנתונים ב-QuickSight לאחר שתקבל הודעה על השלמת רענון הנתונים. אם דוח QuickSight מפעיל שאילתת Athena עבור כל בקשה, ייתכן שתראה שגיאה "לא נמצאה טבלה" כאשר רענון הנתונים מתבצע. אנו ממליצים להשתמש באחסון SPICE כדי לקבל ביצועים טובים יותר.
ניקיון
כדי למנוע חיובים עתידיים, מחק את המשאבים שנוצרו במהלך הדרכה זו.
סיכום
פוסט זה מסביר כיצד ליצור כרטיס ניקוד לאיכות נתונים באמצעות DataBrew, שאילתות Athena ו-QuickSight.
זה נותן לך נקודת התחלה מצוינת לשימוש בפתרון זה עם מערכי הנתונים שלך ויישום כללים עסקיים כדי לבנות מסגרת איכות נתונים מלאה לניטור בעיות בתוך מערכי הנתונים שלך. אנו ממליצים לך להשתמש בשינויים מובנים שונים כדי לקבל את התמורה המקסימלית עבור הפרויקט שלך.
על הכותבים
ניטין אגרוואל הוא ארכיטקט פתרונות בכיר ב-AWS, שם מסייע ללקוחות מקומיים דיגיטליים בבניית פתרונות ניתוח נתונים ומתן הדרכה טכנית על שירותי AWS שונים. הוא מביא יותר מ-16 שנות ניסיון בתפקידי הנדסת תוכנה וארכיטקטורה עבור ארגונים בקנה מידה גדול.
גאורב שרמה הוא אדריכל פתרונות ב-AWS. הוא עובד עם לקוחות עסקיים דיגיטליים ומספקים הדרכה ארכיטקטונית על שירותי AWS.
ויווק קומאר הוא אדריכל פתרונות ב-AWS. הוא עובד עם לקוחות עסקיים דיגיטליים ומספקים הדרכה ארכיטקטונית על שירותי AWS.
- '
- 000
- 100
- 11
- 2020
- 39
- 7
- גישה
- נוסף
- תעשיות
- אמזון בעברית
- אנליזה
- ניתוח
- הודיע
- אַפָּשׁ
- יישומים
- APT
- ארכיטקטורה
- זמינות
- AWS
- לִבנוֹת
- בִּניָן
- עסקים
- מודיעין עסקי
- חיובים
- בדיקות
- קוד
- טור
- יוצרים
- לקוחות
- לוח מחוונים
- נתונים
- ניתוח נתונים
- ניתוח נתונים
- איכות נתונים
- מסד נתונים
- דיגיטלי
- עורך
- הנדסה
- שדות
- טופס
- פוּרמָט
- מסגרת
- עתיד
- כללי
- טוב
- ממשל
- גדול
- Hadoop
- כוורת
- איך
- איך
- HTTPS
- IAM
- זהות
- מידע
- מוֹדִיעִין
- בעיות
- IT
- עבודה
- להצטרף
- מפתח
- למידה
- לִטעוֹן
- מיקום
- למידת מכונה
- סימן
- שיווק
- מדדים
- ML
- ניטור
- הודעה
- אפשרות
- אחר
- נתוני מטופלים
- חולים
- ביצועים
- אוכלוסייה
- פּרוֹיֶקט
- ציבורי
- לפרסם
- איכות
- מתכון
- רשום
- לדווח
- דוחות לדוגמא
- משאב
- משאבים
- כללי
- הפעלה
- ריצה
- סדרה
- שירותים
- סט
- פָּשׁוּט
- הדמיה
- So
- תוכנה
- הנדסת תוכנה
- פתרונות
- SQL
- הצהרה
- אחסון
- יעד
- טכני
- זמן
- חלק עליון
- טרנספורמציה
- הדרכה
- ערך
- לצפיה
- שבוע
- בתוך
- זרימת עבודה
- עובד
- כתיבה
- שנה
- שנים