paint-brush
מה זה לעזאזל DeltaStream?על ידי@progrockrec
234 קריאות

מה זה לעזאזל DeltaStream?

על ידי Shawn Gordon5m2024/12/12
Read on Terminal Reader

יותר מדי זמן; לקרוא

DeltaStream הוא שירות מנוהל המאפשר לך להשתמש ב- Flink מבלי שתצטרך להתמודד עם Flink.
featured image - מה זה לעזאזל DeltaStream?
Shawn Gordon HackerNoon profile picture


כששאלנו בפעם האחרונה, "מה זה לעזאזל???", הסתכלנו על פלטפורמת הזרמת נתונים תואמת פרוטוקול __ Apache Kafka __® WarpStream . עם זרימת נתונים, אתה צריך לעשות עם זה משהו. לנחות את זה איפשהו כמו אפאצ'י אייסברג , פְּתִית שֶׁלֶג , או Databricks , או שאילתה לנתונים בטיסה כדי להעשיר ו/או לסנן אותם לפני הנחיתה. ישנן כמה אפשרויות עבור האחרון, אבל הגדולה שבהן היא ללא ספק פרויקט הקוד הפתוח אפאצ'י פלינק . ההסתכלות על פלינק הובילה אותי DeltaStream , שזה הנושא שלנו היום. מה זה לעזאזל DeltaStream? איך זה עובד עם פלינק, ואיך זה בן לוויה לקפקא?

מה זה פלינק?

פלינק התקבל בתחילה כפרויקט אפאצ'י בדצמבר 2014, כך שהוא קיים כבר זמן מה. הצמיחה של עיבוד זרמים הובילה להתעניינות מואצת ולשימוש בשנים האחרונות. Flink היא מערכת קצת מאתגרת לעמידה ולשימוש פנימי, הדורשת כישרון הנדסי מסור. אפילו ה AWS MSF השירות, אמנם קל יותר, אך עדיין מורכב למדי. שימוש ב-Java, למשל, מחייב אותך לכתוב את שאילתת ה-Java שלך, ליצור קובץ jar, לדחוס אותו, להעלות אותו ל-S3, להגדיר את ההרשאות שלך ואז להפעיל אותו.


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

באמצעות DeltaStream

באופן הבסיסי ביותר, DeltaStream נותן לך את הכוח של Flink מבלי שתצטרך להתמודד עם Flink. בִּכלָל. למבחן שלי, השתמשתי בהם מדריך להתחלה מהירה עבור ממשק המשתמש באינטרנט; שימו לב שיש להם גם CLI, שלא בדקתי.


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


דפדפן נושא DeltaStream


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

מפקח נושאים של DeltaStream


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

תיאור סביבת העבודה של DeltaStream


לחלק הזה נדרש קצת להתרגל. מסד נתונים וסכימה ב-DeltaStream הם רק תיקיות ארגוניות. אתה יכול ליצור מספר "n" של מסדי נתונים, ובתוך מסד נתונים, אתה יכול לקבל מספר "n" של סכימות. הסכמות יחזיקו את הפריסה ההגדרתית של אובייקטי DeltaStream שלך הידועים כ-STREAM, CHANGELOG, MATERIALIZED VIEW ו-TABLE. טבלה מתייחסת לטבלת מסד נתונים במשהו כמו PostgreSQL, וה-Materialized View היא דרך להתמיד בנתונים בערכת תוצאות מבלי לשים אותם במקום ספציפי. אני לא מתכוון לעשות שום דבר עם אף אחד מאלה בבלוג הזה; אני הולך להתמקד בזרם וב-Changelog.


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


דוגמה ליצירת זרם DeltaStream


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

דוגמה של DeltaStream Changelog


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

דוגמה להצטרפות DeltaStream

תַקצִיר

אז מה לעזאזל DeltaStream? זוהי דרך ממש פשוטה להשתמש ב- Apache Flink מבלי לדעת על זה כלום או לעשות איתו משהו ישירות. ראית מהדוגמה שלי כמה פשוט להתחבר לאפצ'י קפקא ואז לקרוא, להצטרף ולסנן את הנתונים. חיבורים אחרים הנתמכים כרגע הם Kinesis, PostgreSQL, Snowflake ו-Databricks, ונאמר לי ש-ClickHouse ו-Iceberg יהיו זמינים בקרוב.


בסופו של דבר, DeltaStream נותן לך את הכוח של Apache Flink מבלי שתצטרך להתמודד עם Apache Flink, ואתה יכול לעשות זאת באמצעות SQL במקום Java. אם אתם עוסקים בהזרמת נתונים או מחפשים ליישם אותם, זה בהחלט פתרון חכם ונוח מאוד.


בדוק את המאמרים האחרים שלי מה לעזאזל... בקישורים למטה:




**