Table of Contents
בנוף המתפתח במהירות של הנדסה, נפח ומהירות של נתונים שנוצרו על ידי האינטרנט של דברים (IoT) מכשירים גדל באופן אקספוננציאלי.חיישנים משובצים במכונות תעשייתיות, צגים סביבתיים, ותשתיות חכמות מייצרים זרמים רצופים של נתונים אשר, אם רתום ביעילות, יכול לפתוח תובנות חסרות תקדים, עם זאת, סולם Sheer של נתונים הנדסי זה - לעתים קרובות להגיע tbytes ליום מפריסה אחת - דורש מנוע עיבוד מסוגל של ניהול יעיל של מסגרת הפעלה אמיתית של מסגרת הפעלה מקיפה עם ניתוח אינטנסיבי עם קומפקטית גבוהה עם קומפקטית, עם קומפקטית יעילה עם קומפקטית גבוהה.
מה זה Apache Spark?
Apache Spark היא מנוע ניתוח פתוח, המיועד לעיבוד נתונים בקנה מידה גדול. שפותח במקור באוניברסיטת קליפורניה, SQL של ברקלי, SparkKLab, צמח לסטנדרט של נתונים גדולים בשל מהירותו, קלות השימוש, ו-IoT (אך בניגוד ל-Sybers Defreative Cloud) של Microsoft, אשר סמך רבות על פעולות מבוססות דיסק, Sparks in-mory כדי להאיץ את אלגוריתמים אישיים של Microsoft (אך) ב-Duprectiontative Data.
למה להחדיר Spark עם מכשירים IoT?
שילוב של Spark with IoT מכשירים מתייחס למספר הנדסת מידע קריטי, שמאגרי מידע מסורתיים או מערכות עיבוד אצווה לא יכולים לספק לבד.
ניתוח נתונים בזמן אמת
בתרחישים הנדסיים רבים - כגון ניטור בריאות מבנית גשרים, מעקב אחר תבניות רטט בטורבינות, או שליטה בטמפרטורה בכורים כימיים - החלטות יש לבצע בתוך שניות או מילימטרים. תהליכי ה- API של Spark's Structured של הסטרימינג בנתונים הבאים במיקרו-batches או זרימה רציפה, המאפשרים למהנדסים להזיז ממוצעים, לזהות omalies, ולגרור פעולות נכונות עם שקיפות מינימלית לדוגמה, ויזואלית, יכול לנתח קוסמטיקה חכם כדי לנתח קווי הפעלה מקווי סריקה אופטימדומים או מקווי לחץ מיידיים.
עיבוד נתונים Scalable Data Processing
פריסות IoT מתחילות לעתים קרובות עם עשרות חיישנים, אך מתרחבות לאלפים או מיליוני אדריכלות מבוזרת של Spark מאפשרת יכולת עיבוד בקנה מידה ליניארית על ידי הוספת נקודות אלר אל המקבץ.אם הנתונים מגיעים ממספר השערים או מ צי עולמי של נכסים מחוברים, Spark יכול להקצות באופן דינמי משאבים.גמישות זו חיונית לצוותים הנדסיים שצריכים להתמודד עם עומסי נתונים שיא במהלך שיגורים או פעולות עונתיות ללא הסמכת יתר.
Bitch and Stream Processing
אתגר משותף בניתוח IoT משלב זרמים בזמן אמת עם נתונים היסטוריים עבור מודלים של למידת מכונות או יצירת התנהגות בסיסית.מנוע מאוחדים של Spark מאפשר למהנדסים לכתוב את אותו קוד עבור הן אצווה והן סטרימינג משרות - באמצעות DataFrame ו-SQL APIs - צמצום מאמצי הפיתוח ולהבטיח עקביות.לדוגמה, מפעיל רוח יכול להכשיר מודל תחזוקה צפוי על שנים של נתונים רטט ולאחר מכן ליישם מודל חי על חי על חי חי חי חי חי חי חי חי חי חי החיישן.
סובלנות ויציבות נתונים
מערכות IoT פועלות בסביבה קשה שבה טיפות רשת, הפסקות חשמל וכשלונות חיישן נפוצים.ה- RDDs מבוסס קופס ומנגנוני מחסומים מספקים עמידות: אם צומת נכשל, המערכת מאמת רק את החלוקה שאבדה מהנתונים המקור המקורי. paired עם שכבות של אי-שיוט אמין כמו קפקא או HDFS, זה מבטיח כי אין נתונים אבודים, אפילו תחת תנאים.
עלויות יעילות
על ידי עיבוד נתונים בזיכרון ודחיסת תוצאות ביניים, Spark מפחית את הצורך באחסון יקר וחומרה. ארגוני הנדסה יכולים להפעיל ניתוח על חומרה סחורות יעילה או להשתמש במקרים של מיקום בענן כדי למזער הוצאות.יכולת של Spark להתמודד הן עם הזרם והן אצווה עומסי עבודה על אותו אשכול מבטל את הצורך בתשתיות נפרדות עבור ניתוח בזמן אמת והיסטורי.
צעדים ל Integrate Spark with IoT מכשירים
יישום צינור Spark-IoT דורש תכנון אדריכלי זהיר.למטה הוא מדריך מפורט, צעד אחר צעד שפונה קישוריות למכשיר, צמת נתונים, עיבוד זרימה, אחסון ודמיון.
הגדרת מכשירים ושערי IoT
החל על ידי חיישנים תצורה והפעלה כדי לתקשר על פרוטוקולים תעשייתיים סטנדרטיים כגון MQTT (Mesage Queuing Telemetry Transport), OPC-UA, או Modbus. רבים מכשירים אלקטרוניים פלט נתונים ב JSON, Avro, או פורמטים בינאריים. Deploy Edges (למשל, Raspberry, PLCs תעשייתיים, AWS או Greens) כדי לקדם נתונים פילטרים מקומיים (C) כדי לנהל מיפוי נתונים מאובטחים) ו-Creating (למשל, , , מיפוי נתונים של הצפנה (למשל, , , , , , , , , מיפוי נתונים , , פילטרים) כדי לאבטחת אבטחה) כדי לנהל נתונים של הצפנה (למשל, פילטרים) כדי לנהל נתונים של הצפנה רשת הצפנה מקומית (למשל, , , , , , , , , , , , , , , פילטרים (לדוגמה, פילטרים מאובטח של הצפנה (לדוגמה, פילטרים) כדי לאבטחת אבטחה של הצפנה (לדוגמה, פילטרים) כדי לאבטחת אבטחה של הצפנה מקומית) כדי לנהל נתונים פילטר נתונים פילטר נתונים ,
2. בחר שכבת נתונים
כדי למחוק את מכשירי IoT מ Spark ולספק נתונים מבולבלים, להשתמש במערכת מסרים מבוזרת.אפאצ'י קפקא היא הבחירה הנפוצה ביותר עבור מחשבים גבוהים, זרמי נטיות נמוכות. לחלופין, אמזון Kinesis, Azure Event Hubs, או MQTTTT ברוקרים (למשל, Mosquitto, HiveMQ) ניתן להשתמש בשכבה ב-Regress ו-Spercato-Extrace-Extra-incato-incato-incato, לדוגמה, כדי לפרסם הודעות לעיתונות.
⁇ ו-Conform the Spark Cluster
(הראה אשכול Spark או על גבי מהדורות (באמצעות Hadoop YARN או Spark Standalone) או בענן (אמזון EMR, Databricks, Google Dataproc) עבור עומסי עבודה של IoT הזקוקים לעקביות נמוכה מקצה לקצה, לשקול שימוש בסטרימינג מובנה עם עיבוד מתמשך (במקום מיקרו-batch) ופרמטרים מכווננים כגון LTF:0 ו-F לאבטחת נתונים מספיקים כדי להתאים את המשתנים ל-S; ו-Squareative Analytics ל-Squareative Analytics; ו-Squareative Analytics כדי להתאים את המשתנים ל-Squareative Analytics ל-Squatecting את המשתנים; ובמקום ל-F; ובמקום ל-F; ובמקום ל-F:0 ו-F (במקום ל-F) ולאפשרות את המשתנים ל-F) ולאפשרות את המשתנים כדי להתאים את המשתנים ל-F:0 ו-F:0 ו-F:0 ו-F:0 כדי להתאים את המשתנים ל-F:0 ו-F:0 ו-F (במקום ל-F) ל-F) ל-F:0 ו-F) ל-F (במקום ל
4.פיתוח קווי נתונים עם Sparkסטרימינג
השתמש ב- API של Spark's Structured של הסטרימינג כדי לקרוא מתוך שכבת הצלקות ולבצע שינויים. צינור טיפוסי כולל:
- (ב) ויקרא מ"ק (ב"ב)" (ב') מ"ק קפקא" או מקורות MQTT באמצעות מקורות ה-FLT:2.
- (ב) ויקרא י"א: ויקרא י"ד: "וַיְּהָעָשֶׂה עַמֶרְתִּים הוּא עַמֶּה הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא
- (ב) ,0) ,Enrichment: FLT:1 הצטרף נתוני הזרמת נתונים עם טבלאות התייחסות סטטיות (למשל, metadata, קבועות קליברציה).
- (FLT:0) ,Aggregation: 1FLT:1 , Compute סטטיסטיקות החלון (ממוצע, מינוס, מקס, סטייה סטנדרטית) עם חלונות זמן (למשל, 5 דקות חלונות מתגלגלים).
- (ב) ⁇ :0; ⁇ :0; 1FLT) החלים את חוקי הסף או לפרוס מודלים של MLlib (למשל, יער בידוד, K-Means) כדי לדגל את הבירות.
- (FLT:0Output:BuildFLT:1) כתוב תוצאות למספר רב של כיורים - מסדי נתונים של זמן (InfluxDB, TimescaleDB), אגמים נתונים (Parquet on S3/HDFS), לוחות נתונים (Grafana, Kibana), ואזהרות מערכות (PagerDuty, דוא"ל).
דוגמה לתפיסת קוד (לא כולל קוד בפועל בגוף המאמר?) אנו יכולים לתאר ללא חסימת קוד: השתמש ב-FLT 3: אז FLT:4.
ניהול אחסון וניהול נתונים
לאחסן נתונים גולמיים מעובדים בפורמט schema-optimized לניתוח עתידי.parkt עם Snappy דחיסה מציעה ביצועים מצוינים ודחיסה טוררית.חלוקת נתונים על ידי מזהה המכשיר ו-Timetamp כדי לאפשר שאילתות יעילות. עבור לוחות נתונים בזמן אמת, מסד נתונים של זמן כמו InfluxDB או QuestDB יכול לשרת שאילתות תת-שניות.
6. בנה ויזואליזציה ואזהרה
לספק תובנות לצוותים הנדסיים באמצעות לוחות נתונים אינטראקטיביים (Grafana, Apache Superset) ופעולות אוטומטיות. Conform Spark לכתוב התראות לנושא קפקא או ישירות ל- Webhook. לדוגמה, אם הטמפרטורה נושאת עולה על 85 מעלות צלזיוס ליותר מ-10 שניות, Spark יכול לפרסם התראה שגורמת לרצף של חסימה אוטומטית באמצעות פקודות MQTT.
אדריכלות:
אינטגרציה מוצלחת Spark-IoT עוקבת אחר ארכיטקטורה שכבה שכבתית.השכבה **הדלון כוללת חיישנים ושערי קצה.* שכבת ההשמדה** (Kafka או שווה ערך) ממציינת ומפיצה נתונים.השכבה ה- Preas-Spark – מבצעת את ה-IoT, ניתוח ו-APLOSDPSATM, כולל תרחישים של שימוש ב-ALT2, ו-A.
היתרונות של שילוב זה
מעבר ליתרונות הכלליים המפורטים קודם לכן, שילוב Spark עם מכשירי IoT מניב יתרונות הנדסיים ספציפיים:
- (FLT:0) ניטור מצב בזמן אמת: מהנדסים יכולים להחליף בדיקות ידניות תקופתיות עם מעקב מתמשך ואוטומטי של בריאות הציוד.
- (FLT:0) תחזוקה מוקדמת: FLT:1 על ידי ניתוח נתונים היסטוריים ואמיתיים, דגמי Spark יכולים לחזות כישלונות לפני שהם מתרחשים, צמצום זמן השבתה לא מתוכנן עד 30%.
- (FLT:0) שיפור איכות הנתונים:FLT:1 ,S Spark's in-stream אימות מבטיח כי רק נתונים נקיים וסטנדרטיים מגיעים במערכות מטה הזרם, שיפור הדיוק של ניתוח.
- (FLT:0) Flexibilityהמחשה תפעולית: צוותים 1FLT יכולים להתאים במהירות צינורות לסוגים חדשים של חיישן או כללי עסקים מבלי לשנות את התשתית כולה.
- שיתוף פעולה מצחיק:0Cross-Functional Collaboration:Buildsets and Authors (למשל, באמצעות Databricks) מאפשר למדענים, מהנדסי תוכנה ומומחים לתחומים לעבוד על אותו נתונים.
אתגרים ושיקולים
אין שילוב ללא מכשולים, צוותי הנדסה חייבים לטפל:
רשת ו-Bandwidth Constraints
מכשירים IoT במקומות מרוחקים עשויים להיות קישוריות מוגבלת.הטמעת קצה מראש (למשל, הדבקה, דחיסה) יכול להפחית את נפח הנתונים שנשלחו ל- Spark. השתמש בפרוטוקולים כמו MQTT עם רמות איכות של שירות (QoS) כדי לאזן אמינות ופס רוחב פס.
נתונים שema Evolution
ככל שהמכשירים מעודכנים, ייתכן שschema הנתונים תשתנה.גישה של Spark-on-read של סכימה מטפלת באבולוציה מסוימת, אך עבור תאימות לאחור קפדנית, השתמש ברשם סכימה (לדוגמה, רישום Confluent Schema) עם Avro או Protobuf.
שקיפות מול חתלתול Tradeoffs
עיבוד מיקרו-batch של Spark (default 100 ms) מציג כמה שקיפות.עבור דרישות תת-10 מ', לשקול שימוש ב- Apache Flink או מעבדי זרם מותאמים אישית.במקרים רבים, 100 ms מקובל; לכוון את מרווח המנה בהתאם.
אבטחה וממשל
נתונים של IoT מכילים לעתים קרובות מידע תפעולי רגיש.נתוני הצפנה במנוחה (HDFS אזורי הצפנה, S3 SSE) ובמעבר (TLS) אימות יישום (Kerberos, IAM) ובקרת גישה מוטבעת היטב באמצעות Apacheerbers או Databricks Unity Catalog Catalog Catalog.
שיטות טובות ביותר עבור צוותי הנדסה
- (FLT:0)Start Small, Scale Gradually:veFLT:1) התחל עם הוכחה של תפיסה באמצעות כמה מכשירים ואוסף יחיד Spark.
- (ב) ⁇ :0) ⁇ ה עם תשתיות כקוד:FLT ( 1:1) השתמש בטרהפורפורמולה או ענן כדי לספק אשכולות, שכבות צמתות, אחסון.זה מקטין שגיאות ידניות ומאפשר סביבות ניתנות להתחדשות.
- (FLT:0)Monitor פילין בריאות: FLT:1 Track Spark metrics (קצב חישוב, זמן עיבוד, משך אצווה) באמצעות כלים כגון Prometheus ו Grafana. Set Up alerts for lag orכישלונות.
- (FLT:0)Optimize עבור חיזוקים של Spark:BuildFLT ( 1) השתמש בתבניות קובץ טוראר (Parquet), להימנע מ- UDFs במידת האפשר, ומנף את פונקציות בנויות של Spark עבור ggregations.עבור פעולות ממשלתיות (למשל, deduplication), להגדיר סימני מים ומחסנים המדינה.
- (ב) [ה]הקהילה: [ה][ה]] [ה][ה]] [ה][ה]]][ה]]][ה]][ה]]]][ה]]]][ה]]][ה[[המאה ה-20]:5 תיעוד של שיטות עבודה טובות ביותר על הפחתה של נתונים.
מסקנה
תוך מינוף של Apache Spark עם מכשירים IoT מייצג שינוי מהותי כיצד צוותי הנדסה אוספים, תהליך, ופועלים על נתונים. על ידי מינוף של Spark ב-memory מחשוב, עיבוד אצווה/זרם פרימיטיבי, ואדריכלות גמישה, ארגונים יכולים להפוך זרמי חיישן גולמי לאינטליגנציה יעילה יותר עם שקיפות נמוכה ודיוק גבוה.