בעולם של היום, לקוחות מנהלים כמויות עצומות של נתונים אצלם שירות אחסון פשוט של אמזון (Amazon S3) data lakes, הדורשים צינורות נתונים מפותלים כדי להבין באופן רציף את השינויים בפריסת הנתונים ולהפוך אותם לזמינים למערכות צורכות. דבק AWS הסורקים מספקים דרך פשוטה לקטלג נתונים ב-AWS Glue Data Catalog שמסיר את המשימות הכבדות בכל הנוגע לניהול סכימה וסיווג נתונים. סורקי AWS Glue מחלצים את סכימת הנתונים והמחיצות מאמזון S3 כדי לאכלס אוטומטית את קטלוג הנתונים, תוך שמירה על מטא נתונים עדכניים.
אך כאשר הנתונים גדלים באופן אקספוננציאלי לאורך זמן, מספר המחיצות בטבלה נתונה יכול לגדול באופן משמעותי. כי שירותי ניתוח כמו אמזונה אתנה בצע שאילתה בטבלה המכילה מיליוני מחיצות, הזמן הדרוש לאחזור המחיצה גדל ויכול לגרום לזמן הריצה של השאילתה לגדול.
כיום, התמיכה בסורק AWS Glue הורחבה כדי להוסיף אוטומטית אינדקסים של מחיצות עבור טבלאות שהתגלו לאחרונה כדי לייעל את עיבוד השאילתות במערך הנתונים המחולק. כעת, כאשר הסורק יוצר טבלת קטלוג נתונים חדשה במהלך הפעלת סורק, הוא יוצר גם אינדקס מחיצות כברירת מחדל, עם התמורה הגדולה ביותר של כל עמודות המחיצות המספריות והמחרוזות כמפתחות. לאחר מכן, קטלוג הנתונים יוצר אינדקס הניתן לחיפוש המבוסס על מפתחות אלה, ומצמצם את הזמן הנדרש לאחזור ולסנן מטא נתונים של מחיצות בטבלאות עם מיליוני מחיצות. יצירת אינדקסים של מחיצות מועילה לעומסי העבודה האנליטיים הפועלים על Athena, אמזון EMR, ספקטרום אדום שיפט, ו-AWS Glue.
בפוסט זה, אנו מתארים כיצד ליצור אינדקסים של מחיצות עם סורק AWS Glue ומשווים את שיפור ביצועי השאילתה בעת גישה לנתונים הסרוקים עם ובלי אינדקס מחיצות מאתנה.
סקירת פתרונות
אנו משתמשים ב- AWS CloudFormation תבנית ליצירת משאבי הפתרון שלנו. בשלבים הבאים, אנו מדגימים כיצד להגדיר את סורק הדבק של AWS ליצור אינדקס מחיצות באמצעות קונסולת הדבק של AWS או באמצעות ממשק שורת הפקודה של AWS (AWS CLI). לאחר מכן אנו משווים את שיפורי ביצועי השאילתה באמצעות Athena.
תנאים מוקדמים
כדי לעקוב אחרי הפוסט הזה, חייבת להיות לך גישה ל- AWS זהות וניהול גישה (IAM) תפקיד מנהל ליצירת משאבים באמצעות AWS CloudFormation.
הגדר את משאבי הפתרון שלך
תבנית CloudFormation מייצרת את המשאבים הבאים:
- תפקידים ומדיניות IAM
- מסד נתונים של AWS Glue כדי להחזיק את הסכימה
- סורק AWS Glue מצביע על מערך נתונים מחולק במיוחד
- קבוצת עבודה ודלי של Athena לאחסון תוצאות שאילתות
השלם את השלבים הבאים כדי להגדיר את משאבי הפתרון:
- התחבר על מנת קונסולת הניהול של AWS כמנהל IAM.
- בחרו השקת ערימה כדי לפרוס את תבנית CloudFormation:
- בעד שם מסד נתונים, שמור על ברירת המחדל
blog_partition_index_crawlerdb
. - בחרו הַבָּא.
- עיין בפרטים בדף הסופי ובחר אני מאשר ש- AWS CloudFormation עשוי ליצור משאבי IAM.
- בחרו צור ערימה.
- כאשר הערימה הושלמה, במסוף AWS CloudFormation, נווט אל יציאות לשונית של הערימה.
- שים לב לערכים של
DatabaseName
וGlueCrawlerName
.
חלק מהמשאבים שהמחסנית הזו פורסת כרוכים בעלויות בעת השימוש.
ערוך והפעל את הסורק AWS Glue
כדי להגדיר ולהפעיל את הסורק AWS Glue, בצע את השלבים הבאים:
- במסוף הדבק של AWS בחר סורקים בחלונית הניווט.
- אתר את
crawler blog-partition-index-crawler
ולבחור ערוך. - ב הגדר פלט ותזמון סעיף, תחת אפשרויות מתקדמות, בחר צור אינדקסים של מחיצות באופן אוטומטי.
- סקור ועדכן את הגדרות הסורק.
לחלופין, אתה יכול להגדיר את הסורק שלך באמצעות AWS CLI (ספק את תפקיד ה-IAM והאזור שלך):
- כעת הפעל את הסורק וודא שהפעלת הסורק הושלמה.
זהו מערך נתונים מחולק מאוד וייקח כ-90 דקות להשלמתו.
אמת את הטבלה המחולקת
במסד הנתונים של AWS Glue blog_partition_index_crawlerdb
, ודא שהטבלה highly_partitioned_table
נוצר.
כברירת מחדל, הסורק קובע אינדקס על סמך התמורה הגדולה ביותר של עמודות מחיצות של סוגי עמודות חוקיים באותו סדר של עמודות מחיצות, שהן מספריות או מחרוזות. עבור הטבלה שנוצרה על ידי הסורק (highly_partitioned_table
), יש לנו עמודות מחיצה year
(חוּט), month
(חוּט), day
(מחרוזת), ו hour
(חוּט).
בהתבסס על הגדרה זו, הסורק יצר אינדקס על התמורה של שנה, חודש, יום ושעה. הסורק יצר את האינדקסים עם קידומת crawler_
על כל אינדקס מחיצה שנוצר כברירת מחדל.
אמת אותו על ידי ניווט לטבלה highly_partitioned_table
על קונסולת הדבק של AWS ובחירה ב- אינדקסים TAB.
הסורק הצליח לסרוק את מקור הנתונים S3 ולאכלס בהצלחה את אינדקסי המחיצות עבור הטבלה.
השווה את שיפורי ביצועי השאילתה באמצעות Athena
ראשית, אנו מבצעים שאילתות בטבלה ב- Athena מבלי להשתמש באינדקס המחיצות. כדי לאמת את הטבלאות באמצעות Athena, בצע את השלבים הבאים:
- במסוף אתנה בחר
crawler-primary-workgroup
כקבוצת העבודה אתנה ובחר הכרה. - הפעל את השאילתה הבאה:
צילום המסך הבא מראה שהשאילתה ארכה כ-32 שניות ללא סינון מופעל באמצעות אינדקס המחיצות.
- כעת אנו מפעילים את אינדקס המחיצות בשאילתת Athena:
- הפעל שוב את השאילתה הבאה וציין את זמן הריצה:
צילום המסך הבא מראה שהשאילתה ארכה רק 700 אלפיות שניות, וזה הרבה יותר מהיר עם סינון מופעל באמצעות אינדקס המחיצות.
לנקות את
כדי למנוע חיובים לא רצויים לחשבון AWS שלך, אתה יכול למחוק את משאבי AWS:
- היכנס למסוף CloudFormation כמנהל IAM המשמש ליצירת מחסנית CloudFormation.
- מחק את ערימת CloudFormation שיצרת.
סיכום
בפוסט זה, הסברנו כיצד להגדיר סורק AWS ליצור אינדקסים של מחיצות והשווינו את ביצועי השאילתה בעת גישה לנתונים עם אינדקסים מאתנה.
אם אין אינדקסים של מחיצות בטבלה, AWS Glue טוען את כל המחיצות של הטבלה, ולאחר מכן מסנן את המחיצות הטעונות, מה שגורם לאחזור לא יעיל של מטא נתונים. שירותי אנליטיקה כמו Redshift Spectrum, Amazon EMR ו-AWS Glue ETL Spark DataFrames יכולים כעת להשתמש באינדקסים לצורך שליפת מחיצות, וכתוצאה מכך ביצועי שאילתות משמעותיים.
למידע נוסף על אינדקסים של מחיצות וביצועי שאילתות במנועים אנליטיים שונים, עיין ב שפר את ביצועי השאילתות של אמזון אתנה באמצעות אינדקסי המחיצות של קטלוג הנתונים של AWS Glue Data ו שפר את ביצועי השאילתות באמצעות אינדקסים של מחיצות AWS Glue.
תודה מיוחדת לכל מי שתרם להשקת תכונת הסורק הזו: Yuhang Chen, Kyle Duong ומיטה Gavade.
על המחברים
Srividya Parthasarathy הוא ארכיטקט ביג דאטה בכיר בצוות AWS Lake Formation. היא נהנית לבנות פתרונות רשת נתונים ולשתף אותם עם הקהילה.
סנדיפ אדוואנקר הוא מנהל מוצר טכני בכיר ב-AWS. מבוסס באזור מפרץ קליפורניה, הוא עובד עם לקוחות ברחבי העולם כדי לתרגם דרישות עסקיות וטכניות למוצרים המאפשרים ללקוחות לשפר את אופן הניהול, האבטחה והגישה לנתונים.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- EVM Finance. ממשק מאוחד למימון מבוזר. גישה כאן.
- Quantum Media Group. IR/PR מוגבר. גישה כאן.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/big-data/efficiently-crawl-your-data-lake-and-improve-data-access-with-aws-glue-crawler-using-partition-indexes/
- :יש ל
- :הוא
- :איפה
- $ למעלה
- 1
- 100
- 11
- 27
- 32
- 8
- 9
- 90
- a
- יכול
- גישה
- גישה
- חֶשְׁבּוֹן
- הודה
- לרוחב
- להוסיף
- מנהל
- שוב
- תעשיות
- לאורך
- גם
- אמזון בעברית
- אמזונה אתנה
- אמזון EMR
- אמזון שירותי אינטרנט
- כמויות
- an
- אנליטית
- ניתוח
- ו
- כל
- בערך
- ARE
- AREA
- סביב
- AS
- At
- באופן אוטומטי
- זמין
- לְהִמָנַע
- AWS
- AWS CloudFormation
- דבק AWS
- תצורת אגם AWS
- מבוסס
- מִפרָץ
- כי
- היה
- הטבות
- גָדוֹל
- נתונים גדולים
- בִּניָן
- עסקים
- by
- קליפורניה
- CAN
- קטלוג
- לגרום
- שינויים
- חיובים
- חן
- בחרו
- בחירה
- מיון
- טור
- עמודות
- מגיע
- קהילה
- לְהַשְׁווֹת
- לעומת
- להשלים
- קונסול
- ברציפות
- תרם
- עלויות
- הסורק
- לִיצוֹר
- נוצר
- יוצר
- יוצרים
- יצירה
- נוֹכְחִי
- לקוחות
- נתונים
- גישה למידע
- אגם דאטה
- מסד נתונים
- יְוֹם
- בְּרִירַת מֶחדָל
- להפגין
- לפרוס
- פורס
- לתאר
- פרטים
- קובע
- גילה
- מטה
- בְּמַהֲלָך
- יעילות
- או
- לאפשר
- מופעל
- מנועים
- Ether (ETH)
- כולם
- מורחב
- מוסבר
- אקספוננציאלית
- תמצית
- לחלץ את הנתונים
- מהר יותר
- מאפיין
- לסנן
- סינון
- מסננים
- סופי
- לעקוב
- הבא
- בעד
- התהוות
- החל מ-
- מייצר
- נתן
- כדור הארץ
- לגדול
- גדל
- יש
- he
- כבד
- הרמת כבד
- מאוד
- להחזיק
- שעה
- איך
- איך
- HTML
- http
- HTTPS
- IAM
- זהות
- לשפר
- השבחה
- שיפורים
- in
- להגדיל
- עליות
- מדד
- אינדקסים
- לֹא יָעִיל
- מידע
- אל תוך
- IT
- jpg
- שמור
- שמירה
- מפתחות
- אגם
- הגדול ביותר
- לשגר
- מערך
- רמה
- כמו
- קו
- המון
- לעשות
- לנהל
- ניהול
- מנהל
- רשת
- מידע נוסף
- יכול
- מיליונים
- דקות
- חוֹדֶשׁ
- יותר
- הרבה
- צריך
- נווט
- מנווט
- ניווט
- נחוץ
- חדש
- חדש
- לא
- עַכשָׁיו
- מספר
- of
- on
- רק
- מטב
- or
- להזמין
- שלנו
- תפוקה
- יותר
- עמוד
- זגוגית
- נתיב
- ביצועים
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- הודעה
- להציג
- תהליך
- המוצר
- מנהל מוצר
- מוצרים
- לספק
- הפחתה
- באזור
- נדרש
- דרישות
- דורש
- משאבים
- וכתוצאה מכך
- תוצאות
- תפקיד
- תפקידים
- הפעלה
- ריצה
- אותו
- שניות
- סעיף
- לבטח
- לחצני מצוקה לפנסיונרים
- שירותים
- סט
- הגדרות
- שיתוף
- היא
- הופעות
- משמעותי
- באופן משמעותי
- פָּשׁוּט
- פִּתָרוֹן
- פתרונות
- מָקוֹר
- לעורר
- ספֵּקטרוּם
- לערום
- צעדים
- אחסון
- חנות
- פשוט
- מחרוזת
- בהצלחה
- תמיכה
- מערכות
- שולחן
- לקחת
- נבחרת
- טכני
- תבנית
- תודה
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- אלה
- הֵם
- זֶה
- זמן
- ל
- של היום
- לקח
- לתרגם
- נָכוֹן
- סוג
- סוגים
- תחת
- להבין
- לא רצוי
- עדכון
- להשתמש
- מְשׁוּמָשׁ
- באמצעות
- לנצל
- ערך
- ערכים
- שונים
- Vast
- לאמת
- גרסה
- היה
- דֶרֶך..
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- אשר
- מי
- יצטרך
- עם
- לְלֹא
- קבוצת עבודה
- עובד
- עוֹלָם
- יאמל
- שנה
- אתה
- זפירנט