אמזונה אתנה הוא שירות שאילתות אינטראקטיבי המקל על ניתוח הנתונים שירות אחסון פשוט של אמזון (Amazon S3) ומקורות נתונים השוכנים ב-AWS, on-premises או מערכות ענן אחרות המשתמשות ב-SQL או ב-Python. Athena בנויה על מנועי Trino ו-Presto בקוד פתוח, ומסגרות Apache Spark, ללא צורך במאמץ הקצאה או תצורה. Athena היא ללא שרת, כך שאין תשתית לניהול, ואתה משלם רק עבור השאילתות שאתה מריץ.
אפאצ'י קרח הוא פורמט טבלה פתוח עבור מערכי נתונים אנליטיים גדולים מאוד. הוא מנהל אוספים גדולים של קבצים כטבלאות, והוא תומך בפעולות מודרניות של אגם נתונים אנליטיים כגון הוספה, עדכון, מחיקה ושאילתות מסע בזמן ברמת שיא. אתנה תומכת בשאילתות קריאה, מסע בזמן, כתיבה ו-DDL עבור טבלאות Apache Iceberg המשתמשות בפורמט Apache Parquet עבור נתונים ו- קטלוג נתוני דבק של AWS למטאסטור שלהם.
הנדסת תכונות הוא תהליך של זיהוי והפיכת נתונים גולמיים (תמונות, קבצי טקסט, סרטונים וכן הלאה), מילוי חוזר של נתונים חסרים והוספת רכיב נתונים משמעותי אחד או יותר כדי לספק הקשר כדי שמודל למידת מכונה (ML) יוכל ללמוד ממנו. תיוג נתונים נדרש עבור מקרי שימוש שונים, כולל חיזוי, ראייה ממוחשבת, עיבוד שפה טבעית וזיהוי דיבור.
בשילוב עם היכולות של Athena, Apache Iceberg מספק זרימת עבודה פשוטה עבור מדעני נתונים ליצירת תכונות נתונים חדשות ללא צורך להעתיק או ליצור מחדש את כל מערך הנתונים. אתה יכול ליצור תכונות באמצעות SQL סטנדרטי ב- Athena מבלי להשתמש בשום שירות אחר להנדסת תכונות. מדעני נתונים יכולים לצמצם את הזמן המושקע בהכנה והעתקת מערכי נתונים, ובמקום זאת להתמקד בהנדסת תכונות נתונים, ניסויים וניתוח נתונים בקנה מידה.
בפוסט זה, נסקור את היתרונות של שימוש ב- Athena עם פורמט הטבלה הפתוחה של Apache Iceberg וכיצד הוא מפשט משימות הנדסת תכונות נפוצות עבור מדעני נתונים. אנו מדגימים כיצד Athena יכולה להמיר טבלה קיימת בפורמט Apache Iceberg, ולאחר מכן להוסיף עמודות, למחוק עמודות ולשנות את הנתונים בטבלה מבלי ליצור מחדש או להעתיק את מערך הנתונים, ולהשתמש ביכולות הללו כדי ליצור תכונות חדשות בטבלאות Apache Iceberg.
סקירת פתרונות
מדעני נתונים רגילים בדרך כלל לעבוד עם מערכי נתונים גדולים. ערכות נתונים מאוחסנות בדרך כלל ב-JSON, CSV, ORC או אפאצ'י פרקט פורמט, או פורמטים דומים המותאמים לקריאה לביצועי קריאה מהירים. מדעני נתונים יוצרים לעתים קרובות תכונות נתונים חדשות, וממלאים תכונות נתונים כאלה בנתונים מצטברים ונלווים. מבחינה היסטורית, משימה זו הושגה על ידי יצירת תצוגה על גבי הטבלה עם הנתונים הבסיסיים בפורמט Apache Parquet, כאשר עמודות ונתונים כאלה נוספו בזמן ריצה או על ידי יצירת טבלה חדשה עם עמודות נוספות. למרות שזרימת עבודה זו מתאימה למקרי שימוש רבים, היא אינה יעילה עבור מערכי נתונים גדולים, מכיוון שיהיה צורך להפיק נתונים בזמן ריצה או להעתיק ולשנות את מערכי הנתונים.
אתנה הציגה עסקת ACID (אטומיות, עקביות, בידוד, עמידות). יכולות שמוסיפות פעולות INSERT, עדכון, מחק, מיזוג ופעולות מסע בזמן. שולחנות אפאצ'י אייסברג. יכולות אלו מאפשרות למדעני נתונים ליצור תכונות נתונים חדשות ולשחרר תכונות נתונים קיימות על מערכי נתונים קיימים מבלי לדאוג להעתקה או שינוי של מערך הנתונים או הפשטתו עם תצוגה. מדעני נתונים יכולים להתמקד בעבודת הנדסת תכונות ולהימנע מהעתקה ושינוי של מערכי הנתונים.
פעולת ה-Athena Iceberg UPDATE כותבת קבצי מחיקה של מיקום Apache Iceberg ושורות מעודכנות חדשות כקובצי נתונים באותה עסקה. אתה יכול לבצע תיקוני רשומות באמצעות הצהרת UPDATE אחת.
עם שחרורו של אתנה מנוע גרסה 3, היכולות של שולחנות Apache Iceberg משופרים עם תמיכה בפעולות כגון צור טבלה כבחירה (CTAS) ופקודות MERGE המייעלות את ניהול מחזור החיים של נתוני Iceberg שלך. CTAS עושה את זה מהיר ויעיל ליצור טבלאות מפורמטים אחרים כגון Apache Paquet, ו מיזוג לתוך עדכון מותנה, מחיק או הוספת שורות לטבלת Iceberg. הצהרה אחת יכולה לשלב פעולות עדכון, מחיקה והוספה.
תנאים מוקדמים
הגדר קבוצת עבודה של Athena עם Athena Engine גרסה 3 כדי להשתמש בפקודות CTAS ו-MERGE עם טבלת Apache Iceberg. כדי לשדרג את מנוע Athena הקיים לגרסה 3 בקבוצת העבודה של Athena, עקוב אחר ההוראות ב- שדרג לגרסה 3 של מנוע Athena כדי להגביר את ביצועי השאילתות ולגשת לתכונות ניתוח נוספות או להתייחס שינוי גרסת המנוע בקונסולת אתנה.
מערך נתונים
לצורך הדגמה, אנו משתמשים בטבלת Apache Parquet שמכילה כמה מיליוני רשומות של נתוני מכירות פיקטיביים המופצים באקראי מהשנים האחרונות המאוחסנות בדלי S3. הורדה את מערך הנתונים, פתח אותו למחשב המקומי שלך והעלה אותו לדלי S3 שלך. בפוסט הזה, העלינו את מערך הנתונים שלנו אל s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
.
הטבלה הבאה מציגה את הפריסה של הטבלה customer_orders
.
שם עמודה | סוג מידע | תיאור |
מפתח הזמנה | מחרוזת | מספר הזמנה להזמנה |
מפתח התאמה | מחרוזת | מספר זיהוי לקוח |
מצב הזמנה | מחרוזת | מצב ההזמנה |
מחיר סופי | מחרוזת | המחיר הכולל של ההזמנה |
תאריך הזמנה | מחרוזת | תאריך ההזמנה |
סדר עדיפות | מחרוזת | עדיפות ההזמנה |
פקיד | מחרוזת | שם הפקיד שטיפל בהזמנה |
עדיפות ספינה | מחרוזת | עדיפות על המשלוח |
שם | מחרוזת | שם לקוח |
כתובת | מחרוזת | כתובת הלקוח |
מפתח לאום | מחרוזת | מפתח מדינה לקוח |
טלפון | מחרוזת | מספר טלפון של לקוח |
actbal | מחרוזת | יתרת חשבון לקוח |
mktsegment | מחרוזת | פלח שוק לקוחות |
בצע הנדסת תכונות
כמדען נתונים, אנחנו רוצים לבצע הנדסת תכונות על נתוני הזמנות הלקוח על ידי הוספת סך רכישות מחושב לשנה אחת ורכישות ממוצעות לשנה לכל לקוח במערך הנתונים הקיים. למטרות הדגמה, יצרנו את customer_orders
שולחן ב sampledb
מסד נתונים באמצעות Athena כפי שמוצג בפקודת DDL הבאה. (תוכל להשתמש בכל אחד ממערכי הנתונים הקיימים שלך ולבצע את השלבים המוזכרים בפוסט זה.) customer_orders
מערך הנתונים נוצר ומאוחסן במיקום דלי S3 s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
בפורמט פרקט. השולחן הזה הוא לא שולחן אפאצ'י אייסברג.
אמת את הנתונים בטבלה על ידי הפעלת שאילתה:
אנו רוצים להוסיף תכונות חדשות לטבלה זו כדי לקבל הבנה מעמיקה יותר של מכירות לקוחות, מה שיכול להביא להכשרת מודלים מהירה יותר ותובנות יקרות יותר. כדי להוסיף תכונות חדשות למערך הנתונים, המר את ה customer_orders
שולחן אתנה לשולחן אפאצ'י אייסברג על אתנה. נושא א CTAS הצהרת שאילתה ליצירת טבלה חדשה עם פורמט Apache Iceberg מה- customer_orders
שולחן. תוך כדי כך, מתווספת תכונה חדשה כדי לקבל את סכום הרכישה הכולל בשנה האחרונה (שנה מקסימלית של מערך הנתונים) על ידי כל לקוח.
בשאילתת ה-CTAS הבאה, עמודה חדשה בשם one_year_sales_aggregate
עם ערך ברירת המחדל כ 0.0
של סוג נתונים double
נוסף ו table_type
מוגדר ICEBERG
:
שלח את השאילתה הבאה כדי לאמת את הנתונים בטבלת Apache Iceberg עם העמודה החדשה one_year_sales_aggregate
ערכים כמו 0.0
:
אנו רוצים לאכלס את הערכים עבור התכונה החדשה one_year_sales_aggregate
במערך הנתונים כדי לקבל את סכום הרכישה הכולל עבור כל לקוח על סמך הרכישות שלו בשנה האחרונה (שנה מקסימלית של מערך הנתונים). הנפק הצהרת שאילתת MERGE לטבלת Apache Iceberg באמצעות Athena כדי לאכלס ערכים עבור one_year_sales_aggregate
תכונה:
שלח את השאילתה הבאה כדי לאמת את הערך המעודכן להוצאה הכוללת של כל לקוח בשנה האחרונה:
אנו מחליטים להוסיף תכונה נוספת על טבלת Apache Iceberg קיימת כדי לחשב ולאחסן את סכום הרכישה הממוצע בשנה האחרונה על ידי כל לקוח. הנפק הצהרת שאילתה ALTER כדי להוסיף עמודה חדשה לטבלה קיימת עבור תכונה one_year_sales_average
:
לפני איכלוס הערכים לתכונה חדשה זו, תוכל להגדיר את ערך ברירת המחדל עבור התכונה one_year_sales_average
ל 0.0
. באמצעות אותה טבלת Apache Iceberg על Athena, הפק משפט שאילתה UPDATE כדי לאכלס את הערך של התכונה החדשה כ 0.0
:
שלח את השאילתה הבאה כדי לאמת שהערך המעודכן להוצאה הממוצעת של כל לקוח בשנה האחרונה מוגדר ל- 0.0
:
כעת אנו רוצים לאכלס את הערכים עבור התכונה החדשה one_year_sales_average
במערך הנתונים כדי לקבל את סכום הרכישה הממוצע עבור כל לקוח על סמך הרכישות שלו בשנה האחרונה (שנה מקסימלית של מערך הנתונים). הנפק הצהרת שאילתת MERGE לטבלת Apache Iceberg הקיימת על Athena באמצעות מנוע Athena כדי לאכלס ערכים עבור התכונה one_year_sales_average
:
שלח את השאילתה הבאה כדי לאמת את הערכים המעודכנים עבור הוצאה ממוצעת של כל לקוח:
לאחר הוספת תכונות נתונים נוספות למערך הנתונים, מדעני נתונים בדרך כלל ממשיכים לאמן מודלים של ML ולהסיק מסקנות באמצעות Amazon Sagemaker או ערכת כלים מקבילה.
סיכום
בפוסט זה, הדגמנו כיצד לבצע הנדסת תכונות באמצעות Athena עם Apache Iceberg. הדגמנו גם שימוש בשאילתת CTAS ליצירת טבלת Apache Iceberg על Athena ממערך נתונים קיים בפורמט Apache Parquet, הוספת תכונות חדשות בטבלת Apache Iceberg קיימת על Athena באמצעות שאילתת ALTER, ושימוש בהצהרות שאילתות UPDATE ו-MERGE כדי לעדכן את ערכי תכונה של עמודות קיימות.
אנו ממליצים לך להשתמש בשאילתות CTAS כדי ליצור טבלאות במהירות וביעילות, ולהשתמש בהצהרת השאילתה MERGE כדי לסנכרן טבלאות בשלב אחד כדי לפשט את הכנת הנתונים ומשימות עדכון בעת שינוי התכונות באמצעות Athena עם Apache Iceberg. אם יש לך הערות או משוב, אנא השאר אותם בקטע ההערות.
על הכותבים
Vivek Gautam הוא ארכיטקט נתונים עם התמחות באגמי נתונים בשירותים מקצועיים של AWS. הוא עובד עם לקוחות ארגוניים בונה מוצרי נתונים, פלטפורמות ניתוח ופתרונות ב-AWS. כשלא בונים ומעצבים פלטפורמות נתונים מודרניות, Vivek הוא חובב אוכל שגם אוהב לחקור יעדי טיול חדשים ולצאת לטיולים.
מיכאיל ויינשטיין הוא אדריכל פתרונות עם שירותי האינטרנט של אמזון. מיכאיל עובד עם לקוחות שירותי בריאות ומדעי החיים כדי לבנות פתרונות שעוזרים לשפר את תוצאות המטופלים. מיכאיל מתמחה בשירותי ניתוח נתונים.
נארש גוטם היא מובילת נתונים אנליטית ו-AI/ML ב-AWS עם ניסיון של 20 שנה, שנהנה לעזור ללקוחות לתכנן פתרונות נתונים זמינים, בעלי ביצועים גבוהים וחסכוניים ביותר לניתוח נתונים ופתרונות AI/ML להעצמת לקוחות עם קבלת החלטות מונעת נתונים . בזמנו הפנוי הוא נהנה מדיטציה ובישול.
הארשה תדיפרטי הוא אדריכל פתרונות ראשי מומחה, Analytics ב-AWS. הוא נהנה לפתור בעיות מורכבות של לקוחות במאגרי מידע ואנליטיקה ולספק תוצאות מוצלחות. מחוץ לעבודה, הוא אוהב לבלות עם משפחתו, לצפות בסרטים ולטייל במידת האפשר.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- EVM Finance. ממשק מאוחד למימון מבוזר. גישה כאן.
- Quantum Media Group. IR/PR מוגבר. גישה כאן.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/big-data/accelerate-data-science-feature-engineering-on-transactional-data-lakes-using-amazon-athena-with-apache-iceberg/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 10
- 100
- 12
- 17
- 20
- שנים 20
- 23
- 27
- 7
- a
- אודות
- להאיץ
- גישה
- מושלם
- חֶשְׁבּוֹן
- פעולות
- להוסיף
- הוסיף
- מוסיף
- נוסף
- כתובת
- AI / ML
- גם
- למרות
- אמזון בעברית
- אמזונה אתנה
- אמזון SageMaker
- אמזון שירותי אינטרנט
- כמות
- an
- אנליטי
- אנליטית
- ניתוח
- לנתח
- ניתוח
- ו
- אחר
- כל
- אַפָּשׁ
- אפאצ 'י ספארק
- ARE
- AS
- At
- זמין
- מְמוּצָע
- לְהִמָנַע
- AWS
- שירותים מקצועיים של AWS
- מבוסס
- BE
- כי
- היה
- הטבות
- לִבנוֹת
- בִּניָן
- נבנה
- by
- מחושב
- CAN
- יכולות
- מקרים
- מיון
- ענן
- אוספים
- טור
- עמודות
- לשלב
- הערות
- Common
- מורכב
- לחשב
- המחשב
- ראייה ממוחשבת
- תְצוּרָה
- מכיל
- הקשר
- להמיר
- בישול
- הַעתָקָה
- תיקונים
- עלות תועלת
- לִיצוֹר
- נוצר
- יוצרים
- לקוח
- לקוחות
- נתונים
- ניתוח נתונים
- אגם דאטה
- מדע נתונים
- מדען נתונים
- נתונים מונחים
- מסד נתונים
- מאגרי מידע
- מערכי נתונים
- תַאֲרִיך
- להחליט
- קבלת החלטות
- עמוק יותר
- בְּרִירַת מֶחדָל
- אספקה
- מספק
- להפגין
- מופגן
- תכנון
- יעדים
- מופץ
- עושה
- לְהַכפִּיל
- ירידה
- עמידות
- כל אחד
- קל
- יעיל
- יעילות
- מאמץ
- או
- אלמנטים
- להסמיך
- לאפשר
- לעודד
- מנוע
- הנדסה
- מנועים
- משופר
- מִפְעָל
- לקוחות ארגוניים
- נלהב
- שלם
- שווה
- Ether (ETH)
- קיימים
- ניסיון
- לחקור
- חיצוני
- שקר
- משפחה
- מהר
- מהר יותר
- מאפיין
- תכונות
- מָשׁוֹב
- קבצים
- להתמקד
- לעקוב
- הבא
- מזון
- בעד
- פוּרמָט
- מסגרות
- חופשי
- החל מ-
- בדרך כלל
- נוצר
- לקבל
- Go
- קְבוּצָה
- Hadoop
- יש
- he
- בריאות
- לעזור
- עזרה
- ביצועים גבוהים
- מאוד
- טיולים
- שֶׁלוֹ
- הסטורי
- כוורת
- איך
- איך
- HTML
- HTTPS
- הזדהות
- זיהוי
- if
- תמונות
- לשפר
- in
- כולל
- להגדיל
- לֹא יָעִיל
- תשתית
- מוסיף
- תובנות
- במקום
- הוראות
- אינטראקטיבי
- אל תוך
- הציג
- בדידות
- סוגיה
- IT
- jpg
- ג'סון
- תיוג
- אגם
- שפה
- גָדוֹל
- אחרון
- מערך
- מנהיג
- לִלמוֹד
- למידה
- יציאה
- החיים
- מדעי חיים
- מעגל החיים
- להגביל
- מקומי
- מיקום
- אוהב
- מכונה
- למידת מכונה
- לעשות
- עושה
- לנהל
- ניהול
- מצליח
- רב
- שוק
- מתאים
- מקסימום
- משמעותי
- מדיטציה
- מוּזְכָּר
- למזג
- מִילִיוֹן
- חסר
- ML
- מודל
- מודלים
- מודרני
- לשנות
- יותר
- סרטים
- שם
- שם
- אוּמָה
- טבעי
- שפה טבעית
- עיבוד שפה טבעית
- צורך
- צורך
- חדש
- תכונה חדשה
- תכונות חדשות
- חדש
- לא
- מספר
- of
- לעתים קרובות
- on
- ONE
- רק
- לפתוח
- קוד פתוח
- מבצע
- תפעול
- or
- הזמנות
- אחר
- שלנו
- תוצאות
- בחוץ
- עבר
- תשלום
- לבצע
- ביצועים
- טלפון
- פלטפורמות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- אנא
- עמדה
- אפשרי
- הודעה
- העריכה
- מחיר
- מנהל
- בעיות
- תהליך
- מעובד
- תהליך
- מוצרים
- מקצועי
- לספק
- לִרְכּוֹשׁ
- רכישות
- למטרות
- פיתון
- שאילתות
- מהירות
- חי
- נתונים גולמיים
- חומר עיוני
- הכרה
- שיא
- רשום
- להפחית
- לשחרר
- נדרש
- תוצאה
- סקירה
- שׁוּרָה
- הפעלה
- ריצה
- בעל חכמים
- מכירות
- אותו
- סולם
- מדע
- מדעים
- מַדְעָן
- מדענים
- סעיף
- ללא שרת
- שרות
- שירותים
- סט
- כמה
- הראה
- הופעות
- דומה
- פָּשׁוּט
- פשוט
- לפשט
- יחיד
- So
- פתרונות
- פותר
- מקורות
- לעורר
- מומחה
- מתמחה
- נאום
- זיהוי דיבור
- לבלות
- בילה
- SQL
- תֶקֶן
- הצהרה
- הצהרות
- שלב
- צעדים
- אחסון
- חנות
- מאוחסן
- לייעל
- מחרוזת
- מוצלח
- כזה
- תמיכה
- תומך
- מערכות
- שולחן
- המשימות
- משימות
- זֶה
- השמיים
- המיזוג
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- זֶה
- זמן
- זמן הנסיעה
- ל
- חלק עליון
- סה"כ
- רכבת
- הדרכה
- עסקה
- טרנזקציות
- טרנספורמציה
- הפיכה
- נסיעות
- סוג
- בְּסִיסִי
- הבנה
- עדכון
- מְעוּדכָּן
- עדכונים
- שדרוג
- נטען
- להשתמש
- באמצעות
- בְּדֶרֶך כְּלַל
- לְאַמֵת
- בעל ערך
- ערך
- ערכים
- שונים
- לאמת
- גרסה
- מאוד
- באמצעות
- וידאו
- לצפיה
- חזון
- רוצה
- היה
- שעון
- we
- אינטרנט
- שירותי אינטרנט
- היו
- מתי
- בכל פעם
- אשר
- בזמן
- מי
- עם
- לְלֹא
- תיק עבודות
- זרימת עבודה
- קבוצת עבודה
- עובד
- עובד
- היה
- לכתוב
- שנה
- שנים
- אתה
- זפירנט
- רוכסן