Ένας αγωγός δεδομένων μετακινεί δεδομένα από την πηγή στον προορισμό μέσω μιας σειράς βημάτων. Εξαγωγή από την πηγή. Μετασχηματισμός τους ώστε να ταιριάζουν στον στόχο. Φόρτωσή τους στον χώρο αποθήκευσης. Στη συνέχεια, διαθεσιμότητά τους για ανάλυση. Ο αγωγός εκτελείται αυτόματα, βάσει χρονοδιαγράμματος ή σε απόκριση σε συμβάντα. Χειρίζεται τις διαδικασίες έτσι ώστε οι αναλυτές και οι επιστήμονες δεδομένων να μπορούν να επικεντρωθούν στη χρήση των δεδομένων αντί να τα μετακινούν.
Οι αγωγοί ποικίλλουν από απλοί έως σύνθετοι. Μια νυχτερινή εργασία που αντιγράφει ένα αρχείο CSV είναι ένας αγωγός. Ένα σύστημα ροής που επεξεργάζεται εκατομμύρια συμβάντα ανά δευτερόλεπτο είναι επίσης ένας αγωγός. Τα εργαλεία ποικίλλουν: Airflow, Dagster, Prefect για ενορχήστρωση. Kafka, Kinesis και Pub/Sub για ροή. dbt για μετασχηματισμό. Οι προκλήσεις είναι συνεπείς. Οι πηγές αλλάζουν χωρίς προειδοποίηση. Τα δεδομένα φτάνουν αργά ή έχουν λανθασμένη μορφή. Οι εργασίες αποτυγχάνουν στις 2 π.μ. και κανείς δεν το προσέχει μέχρι να αδειάσει η πρωινή αναφορά. Οι καλοί αγωγοί διαθέτουν παρακολούθηση, ειδοποίηση, λογική επανάληψης και βήματα idempotent που μπορούν να εκτελεστούν δύο φορές χωρίς να διπλασιάζονται δεδομένα. Είναι τεκμηριωμένα, ώστε ο καθένας να μπορεί να καταλάβει τι κάνουν. Δοκιμάζονται, ώστε οι αλλαγές να μην διαταράσσουν τα συστήματα downstream. Ένας αγωγός είναι υποδομή. Όπως κάθε υποδομή, λειτουργεί καλύτερα όταν κανείς δεν χρειάζεται να το σκεφτεί.
Στάδια αγωγού
- Εξαγωγή — εξαγωγή δεδομένων από πηγές
- Μεταμόρφωση — καθαρισμός, εμπλουτισμός και αναδιαμόρφωση
- Φόρτωση — εγγραφή στο σύστημα-στόχο
- Ενορχήστρωση — προγραμματισμός και συντονισμός βημάτων
- Παρακολούθηση — ανίχνευση και ειδοποίηση για βλάβες
Ένας αγωγός δεδομένων είναι μια αλυσίδα εφοδιασμού δεδομένων. Εάν διακοπεί, όλα τα κατάντη σταματούν.
Comments
No comments yet. Be the first to share a thought.
Leave a comment