לוגו זפירנט

מדריך למעבר מאגם דלתא של דאטבריקס ל- Apache Iceberg

תאריך:

מבוא

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

מטרות למידה

  • הבנת התכונות של Databricks ו- Apache Iceberg.
  • למד להשוות את המרכיבים הארכיטקטוניים בין Databricks לקרחון האפאצ'י.
  • הבן את השיטות המומלצות להעברת ארכיטקטורת אגם הדלתא לפלטפורמת קוד פתוח כמו אייסברג.
  • להשתמש בכלים אחרים של צד שלישי כחלופה לפלטפורמת אגם delta.

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

תוכן העניינים

הבנת Databricks Delta Lake

Databricks Delta Lake הוא בעצם שכבת אחסון מתוחכמת הבנויה על גבי אפאצ 'י ספארק מִסגֶרֶת. הוא מציע כמה פונקציונליות נתונים מודרניים שפותחו לניהול נתונים חלק. לדלתא אגם יש תכונות שונות בבסיסו:

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

תכונות של Apache Iceberg

Apache Iceberg מספקת אלטרנטיבה תחרותית לחברות המחפשות פתרון משופר לניהול אגם נתונים. Icebergs מנצח כמה מהפורמטים המסורתיים כמו פרקט או ORC. יש הרבה יתרונות בולטים:

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

ניתוח השוואתי של ארכיטקטורות

הבה נעמיק בניתוח השוואתי של ארכיטקטורות:

ארכיטקטורת אגם דאטבריקס דלתא

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

אדריכלות אפאצ'י אייסברג

  • הפרדת מטא נתונים: יש הבדל בהשוואה עם דאטבריקס במונחים של הפרדת מטא נתונים מקבצי נתונים. הקרחון מאחסן מטא נתונים במאגר נפרד מקבצי הנתונים.
  • תמיכה בעסקאות: להבטחת שלמות הנתונים והאמינות, Iceberg מתגאה בפרוטוקול עסקה חזק. פרוטוקול זה מבטיח את פעולות הטבלה האטומיות והעקביות.
  • תאימות: המנועים כגון Apache Spark, Flink ו-Presto מתאימים בקלות לאייסברג. למפתחים יש את הגמישות להשתמש ב-Iceberg עם מסגרות עיבוד בזמן אמת ואצווה אלו.
אדריכלות אפאצ'י אייסברג

ניווט בנוף הגירה: שיקולים ושיטות עבודה מומלצות

זה זקוק לכמות עצומה של תכנון וביצוע כדי ליישם את ההגירה מאגם Databricks Delta ל- Apache Iceberg. יש לעשות כמה שיקולים שהם:

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

לצורך הגירה מפתחים יכולים להשתמש בכמה שלדי קוד מוגדרים מראש מתיעוד Iceberg ו-databricks וליישם את אותו הדבר. השלבים מוזכרים להלן והשפה המשמשת כאן היא Scala:

שלב 1: צור Delta Lake Table

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

שלב 1: צור Delta Lake Table
val data=spark.range(0,5)
data.write.format("delta").save("s3://testing_bucket/delta-table")

spark.read.format("delta").load("s3://testing_bucket/delta-table")
צור Delta Lake Table
צור Delta Lake Table

הוספת קוד ואקום אופציונלי

#adding optional code for vaccum later
val data=spark.range(5,10)
data.write.format("delta").mode("overwrite").save("s3://testing_bucket/delta-table")

שלב 2: CTAS וקריאה של Delta Lake Table

#reading delta lake table
spark.read.format("delta").load("s3://testing_bucket/delta-table")

שלב 3: קריאת אגם דלתא וכתוב לשולחן אייסברג

val df_delta=spark.read.format("delta").load("s3://testing_bucket/delta-table")
df_delta.writeTo("test.db.iceberg_ctas").create()
spark.read.format("iceberg").load("test.db.iceberg.ctas)

אמת את הנתונים שהושלכו לטבלאות הקרחון תחת S3

קורא את אגם דלתא וכתוב לשולחן אייסברג
קורא את אגם דלתא וכתוב לשולחן אייסברג

השוואה בין כלי הצד השלישי מבחינת פשטות, ביצועים, תאימות ותמיכה. שני הכלים קרי. AWS Glue DataBrew ו- Snowflake מגיעים עם סט פונקציות משלהם.

AWS דבק DataBrew

תהליך הגירה:

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

סט תכונות:

  • שינוי נתונים: הוא מגיע עם קבוצה גדולה של תכונות לשינוי נתונים (EDA). זה יכול להיות שימושי במהלך העברת הנתונים.
  • פרופיל אוטומטי: כמו כלי הקוד הפתוח האחרים, DataBrew נתוני פרופיל אוטומטי. כדי לזהות כל חוסר עקביות וגם להמליץ ​​על משימות טרנספורמציות.

ביצועים ותאימות:

  • בקרת מערכות ותקשורת: לעיבוד מערכי הנתונים הגדולים יותר שניתן להיתקל בהם במהלך תהליך ההעברה, Glue DataBrew מספק מדרגיות להתמודדות עם זה גם כן.
  • תְאִימוּת: הוא מספק תאימות לקבוצה רחבה יותר של פורמטים ומקורות נתונים, ובכך מקל על אינטגרציה עם פתרונות אחסון שונים.

פְּתִית שֶׁלֶג

תהליך הגירה:

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

סט תכונות:

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

ביצועים ותאימות:

  • ביצוע: Snowflake גם יעיל בביצועים מבחינת מדרגיות המאפשרת למשתמשי קצה לעבד נפחי נתונים עצומים בקלות.
  • תְאִימוּת: Snowflake מספק גם מחברים שונים עבור מקורות נתונים שונים, ובכך מבטיח תאימות צולבת עם מערכות אקולוגיות מגוונות של נתונים.
"

סיכום

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

המנות העיקריות

  • Apache Iceberg מספק תכונות פנטסטיות כמו בידוד תמונת מצב, ניהול מטא נתונים יעיל, חיתוך מחיצות ובכך הוא מוביל לשיפור יכולות ניהול אגם הנתונים.
  • הגירה לאפצ'י אייסברג עוסקת בתכנון וביצוע זהירים. ארגונים צריכים לשקול את הגורמים כגון התפתחות סכימה, אסטרטגיות העברת נתונים ותאימות שאילתות.
  • Databricks Delta Lake ממנפת את אחסון הענן כשכבת האחסון הבסיסית שלו, מאחסנת קבצי נתונים ויומני טרנזקציות, בעוד ש-Iceberg מפריד מטא נתונים מקבצי נתונים, ומשפר את הביצועים והמדרגיות.
  • ארגונים צריכים גם לשקול את ההשלכות הכספיות כגון עלויות אחסון, עלויות מחשוב, עמלות רישוי וכל משאבים אד-הוק הדרושים להגירה.

שאלות נפוצות

שאלה 1. כיצד מתבצע תהליך ההגירה מאגם Databricks Delta ל- Apache Iceberg?

ת. זה כרוך בייצוא הנתונים מ-Databricks Delta Lake, לנקות אותם במידת הצורך, ולאחר מכן לייבא אותם לטבלאות Apache Iceberg.

שאלה 2. האם יש כלים אוטומטיים זמינים כדי לסייע בהעברה ללא התערבות ידנית?

א. ארגונים ממנפים בדרך כלל סקריפטים מותאמים אישית של פיתון/סקאלה וכלי ETL לבניית זרימת עבודה זו.

שאלה 3. מהם האתגרים הנפוצים שארגונים נתקלים בהם במהלך תהליך ההגירה?

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

שאלה 4. מה ההבדל בין Apache Iceberg לפורמטי שולחן אחרים כמו פרקט או ORC?

A. Apache Iceberg מספק תכונות כמו התפתחות סכימה, בידוד תמונת מצב וניהול מטא-נתונים יעיל ששונה אותו מפרקט ו-ORC.

שאלה 5. האם נוכל להשתמש ב- Apache Iceberg עם פתרונות אחסון מבוססי ענן?

ת. בהחלט, Apache Iceberg תואם לפתרונות אחסון מבוססי ענן בשימוש נפוץ כגון AWS S3, Azure Blob Storage ו-Google Cloud Storage.

המדיה המוצגת במאמר זה אינה בבעלות Analytics Vidhya והיא משמשת לפי שיקול דעתו של המחבר.

ספוט_ימג

המודיעין האחרון

ספוט_ימג