Joiner Transformation στην Informatica με ΠΑΡΑΔΕΙΓΜΑ
⚡ Έξυπνη Σύνοψη
Ο μετασχηματισμός Joiner στην Informatica είναι το ενεργό, συνδεδεμένο αντικείμενο που ενώνει δύο ετερογενείς πηγές υπό μια αντίστοιχη συνθήκη, αποθηκεύοντας προσωρινά τον κύριο αγωγό στη μνήμη ενώ ο αγωγός λεπτομερειών ρέει μέσα από αυτόν.
Τι είναι το Joiner Transformation;
Ο μετασχηματισμός Joiner είναι ένας ενεργός και συνδεδεμένος μετασχηματισμός που σας παρέχει την επιλογή δημιουργίας συνδέσεων στο Informatica. Οι συνδέσεις που δημιουργούνται χρησιμοποιώντας τον μετασχηματισμό Joiner είναι παρόμοιες με τις συνδέσεις σε βάσεις δεδομένων. Το πλεονέκτημα του μετασχηματισμού Joiner είναι ότι οι συνδέσεις μπορούν να δημιουργηθούν για ετερογενή συστήματα (διαφορετικές βάσεις δεδομένων).
Στον μετασχηματισμό Joiner, υπάρχουν δύο πηγές που θα χρησιμοποιήσουμε για ενώσεις. Αυτές οι δύο πηγές ονομάζονται
- Κύρια πηγή
- Λεπτομέρεια Πηγή
Στις ιδιότητες του μετασχηματισμού Joiner, μπορείτε να επιλέξετε ποια πηγή δεδομένων μπορεί να είναι κύρια και ποια πηγή μπορεί να είναι η πηγή λεπτομερειών.
Κατά την εκτέλεση, η κύρια πηγή αποθηκεύεται προσωρινά στη μνήμη για σκοπούς σύνδεσης. Επομένως, συνιστάται να επιλέξετε την πηγή με λιγότερες εγγραφές ως κύρια πηγή. Ο κύριος αγωγός διατηρείται σε δύο προσωρινές μνήμες: μια προσωρινή μνήμη ευρετηρίου για τις τιμές που χρησιμοποιούνται στη συνθήκη σύνδεσης και μια προσωρινή μνήμη δεδομένων για τα υπόλοιπα δεδομένα γραμμής.
Τύποι συνδέσεων στον μετασχηματισμό συνδέτη
Η ιδιότητα Τύπος σύνδεσης (Join Type) στην καρτέλα Ιδιότητες (Properties) αποφασίζει τι θα συμβεί στις γραμμές που δεν βρίσκουν αντιστοιχία. Οι ακόλουθες συνδέσεις μπορούν να δημιουργηθούν χρησιμοποιώντας τον μετασχηματισμό Joiner.
- Κύρια εξωτερική ένωση – Σε μια κύρια εξωτερική ένωση, όλες οι εγγραφές από την προέλευση λεπτομερειών επιστρέφονται από την ένωση και επιστρέφονται μόνο οι αντίστοιχες γραμμές από την κύρια προέλευση.
- Λεπτομέρεια εξωτερική ένωση – Σε μια εξωτερική ένωση λεπτομερειών, επιστρέφονται μόνο οι αντίστοιχες γραμμές από την προέλευση λεπτομερειών και επιστρέφονται όλες οι γραμμές από την κύρια προέλευση.
- Πλήρης εξωτερική ένωση – Σε μια πλήρη εξωτερική ένωση, επιστρέφονται όλες οι εγγραφές και από τις δύο πηγές.
- Κανονική ένταξη – Σε μια κανονική ένωση, επιστρέφονται μόνο οι αντίστοιχες γραμμές και από τις δύο πηγές.
Οι κύριες εξωτερικές και οι λεπτομερείς εξωτερικές ενώσεις είναι ισοδύναμες με τις αριστερές εξωτερικές ενώσεις στο SQL: το καθένα διατηρεί κάθε γραμμή μιας πηγής και μόνο τις αντιστοιχίες από την άλλη. Ο παρακάτω πίνακας αντιστοιχίζει τους τέσσερις τύπους με τα αντίστοιχα SQL.
| Τύπος συμμετοχής | Οι γραμμές διατηρούνται από τον κύριο | Οι γραμμές διατηρούνται από λεπτομέρειες | Ισοδύναμο SQL |
|---|---|---|---|
| Κανονική ένταξη | Μόνο αντιστοίχιση | Μόνο αντιστοίχιση | Εσωτερική σύνδεση |
| Κύρια εξωτερική ένωση | Μόνο αντιστοίχιση | Όλες οι σειρές | Αριστερός εξωτερικός σύνδεσμος στην πηγή λεπτομερειών |
| Λεπτομέρεια εξωτερική ένωση | Όλες οι σειρές | Μόνο αντιστοίχιση | Αριστερός εξωτερικός σύνδεσμος στην κύρια πηγή |
| Πλήρης εξωτερική ένωση | Όλες οι σειρές | Όλες οι σειρές | Πλήρης εξωτερική ένωση |
Ο τύπος σύνδεσης είναι μια ιδιότητα, όχι μια δομική επιλογή, επομένως μπορεί να αλλάξει αργότερα χωρίς να ανακατασκευαστεί ο χάρτηςping ή επανασύνδεση οποιωνδήποτε θυρών.
Πώς να χρησιμοποιήσετε τον μετασχηματισμό Joiner στην Informatica
Σε αυτό το παράδειγμα, θα ενώσουμε τους πίνακες emp και dept χρησιμοποιώντας μετασχηματισμό Joiner. Επεξεργαστείτε τα οκτώ βήματα παρακάτω στον Χάρτη.ping Σχεδιαστής.
Βήμα 1) Δημιουργήστε έναν νέο πίνακα προορισμού EMP_DEPTNAME στη βάση δεδομένων χρησιμοποιώντας το παρακάτω σενάριο και εισαγάγετε τον πίνακα στους στόχους της Informatica.
Κατεβάστε το παραπάνω Αρχείο emp_deptname.sql
Βήμα 2) Δημιουργήστε ένα νέο χαρτης και εισάγουμε τους πίνακες προέλευσης "EMP" και "DEPT" και τον πίνακα προορισμού που δημιουργήσαμε στο προηγούμενο βήμα. Και οι τρεις ορισμοί βρίσκονται τώρα στον καμβά, όπως φαίνεται παρακάτω.
Βήμα 3) Από το μενού Μετασχηματισμός, επιλέξτε την επιλογή Δημιουργία. Στη συνέχεια, στο παράθυρο Δημιουργία Μετασχηματισμού που φαίνεται παρακάτω,
- Επιλέξτε μετασχηματισμό ξυλουργού
- Εισαγάγετε το όνομα μετασχηματισμού "jnr_emp_dept"
- Επιλέξτε την επιλογή δημιουργίας
Βήμα 4) Σύρετε και αποθέστε όλες τις στήλες και από τα δύο Προσδιοριστές Πηγής στον μετασχηματισμό Joiner. Και οι δύο αγωγοί είναι πλέον συνδεδεμένοι στο jnr_emp_dept, όπως φαίνεται στο στιγμιότυπο οθόνης.
Βήμα 5) Double κάντε κλικ στον μετασχηματισμό Joiner και, στη συνέχεια, στο παράθυρο Επεξεργασία μετασχηματισμών
- Επιλέξτε την καρτέλα συνθήκης
- Κάντε κλικ στο εικονίδιο προσθήκης νέας συνθήκης
- Επιλέξτε deptno στη λίστα βασικών στηλών και στηλών λεπτομερειών
Η καρτέλα Συνθήκη περιέχει πλέον τη συνθήκη single join στο deptno.
Βήμα 6) Μετά στο ίδιο παράθυρο
- Επιλέξτε την καρτέλα ιδιότητες
- Επιλέξτε Κανονική Ένωση ως τύπο σύνδεσης
- Επιλέξτε το κουμπί OK
Η καρτέλα Ιδιότητες με τον τύπο σύνδεσης που έχει οριστεί εμφανίζεται στη συνέχεια.
Για βελτιστοποίηση της απόδοσης, αντιστοιχίζουμε την κύρια πηγή στον αγωγό του πίνακα πηγής που έχει λιγότερες εγγραφές. Για να εκτελέσετε αυτήν την εργασία:
Βήμα 7) Double κάντε κλικ στον μετασχηματισμό Joiner για να ανοίξετε το παράθυρο Επεξεργασία μετασχηματισμών και, στη συνέχεια,
- Επιλέξτε την καρτέλα Ports
- Επιλέξτε οποιαδήποτε στήλη μιας συγκεκριμένης πηγής που θέλετε να κάνετε κύρια
- Επιλέξτε OK
Η καρτέλα "Θύρες" επισημαίνει τον επιλεγμένο αγωγό ως κύριο, όπως φαίνεται παρακάτω.
Βήμα 8) Συνδέστε τις σχετικές στήλες από τον μετασχηματισμό Joiner με τον πίνακα-στόχο. Ο χάρτηςping τώρα εκτελείται και από τις δύο πηγές μέσω της σύνδεσης στο EMP_DEPTNAME.
Τώρα αποθηκεύστε τον χάρτηping και εκτελέστε το αφού δημιουργήσετε ένα Συνεδρίαση και ροής εργασίας για αυτό. Η σύνδεση θα δημιουργηθεί χρησιμοποιώντας το Informatica Joiner και οι σχετικές λεπτομέρειες θα ανακτηθούν και από τους δύο πίνακες.
Ιδιότητες μετασχηματισμού Joiner
Η καρτέλα Ιδιότητες περιέχει περισσότερα από τον τύπο σύνδεσης. Οι παρακάτω ρυθμίσεις ελέγχουν πόση μνήμη χρησιμοποιεί η σύνδεση και πού εγγράφονται τα αρχεία προσωρινής μνήμης.
| Ρύθμιση | Τι ελέγχει |
|---|---|
| Εγγραφή τύπου | Κανονική, Κύρια εξωτερική, Λεπτομερής εξωτερική ή Πλήρης εξωτερική. Αποφασίζει ποιες μη ταιριασμένες γραμμές διατηρούνται. |
| Συνθήκη Συμμετοχής | Η λίστα των ζευγών θύρας master-to-detail σε σύγκριση με τον τελεστή equals. Αρκετές συνθήκες συνδυάζονται με AND. |
| Ταξινομημένη Είσοδος | Δηλώνει ότι και οι δύο αγωγοί φτάνουν ήδη ταξινομημένοι με βάση τις θύρες συνθήκης, γεγονός που επιτρέπει στην Υπηρεσία Ενοποίησης να ελαχιστοποιεί την είσοδο και έξοδο του δίσκου. |
| Κύρια σειρά ταξινόμησης | Η σειρά ταξινόμησης των δεδομένων κύριας πηγής, που χρησιμοποιούνται μαζί με τα ταξινομημένα δεδομένα εισόδου. |
| Κατάλογος προσωρινής μνήμης | Κατάλογος στον οποίο δημιουργούνται τα αρχεία ευρετηρίου και προσωρινής μνήμης δεδομένων. Η προεπιλογή είναι η μεταβλητή διεργασίας $PMCacheDir. |
| Μέγεθος προσωρινής μνήμης δεδομένων joiner | Μέγεθος της προσωρινής μνήμης δεδομένων που περιέχει τα δεδομένα της κύριας γραμμής. Η προεπιλογή είναι Αυτόματη, η οποία επιτρέπει στην Υπηρεσία Ενοποίησης να καθορίσει το μέγεθός της. |
| Μέγεθος προσωρινής μνήμης δείκτη σύνδεσης | Μέγεθος της προσωρινής μνήμης ευρετηρίου που περιέχει τις τιμές της κύριας συνθήκης. Η προεπιλογή είναι Αυτόματη. |
| Πεδίο εφαρμογής μετασχηματισμού | Εφαρμόζει την ένωση σε κάθε συναλλαγή, σε όλα τα εισερχόμενα δεδομένα ή σε ένα πεδίο εφαρμογής σε επίπεδο γραμμής. |
Η ταξινομημένη είσοδος είναι η ρύθμιση που αξίζει να αναζητήσετε πρώτα. Όταν και οι δύο αγωγοί φτάνουν ταξινομημένοι από τις θύρες συνθήκης, η Υπηρεσία Ενοποίησης δεν χρειάζεται να διατηρεί ολόκληρη την κύρια πηγή πριν ξεκινήσει η αντιστοίχιση, η οποία είναι η ίδια αρχή που εφαρμόζεται κατά τη διάρκεια συντονισμός απόδοσης άλλων μετασχηματισμών που αποθηκεύονται στην προσωρινή μνήμη.
Κανόνες και περιορισμοί μετασχηματισμού Joiner
Ορισμένοι περιορισμοί εμφανίζονται μόνο όταν ο χάρτηςping είναι επικυρωμένο, επομένως είναι φθηνότερο να τα γνωρίζετε πριν συνδεθούν οι θύρες.
- Μόνο ισότητα. Μια συνθήκη σύνδεσης συγκρίνει τις θύρες με τον τελεστή ίσον. Οι τελεστές σύγκρισης όπως μεγαλύτερο από, μικρότερο από ή όχι ίσο με δεν γίνονται δεκτοί στη συνθήκη.
- Αντιστοίχιση τύπων δεδομένων. Και οι δύο θύρες σε μια συνθήκη πρέπει να έχουν τον ίδιο τύπο δεδομένων. Ο Σχεδιαστής το επικυρώνει αυτό, επομένως οι στήλες που δεν ταιριάζουν πρέπει πρώτα να μετατραπούν, συνήθως σε έναν μετασχηματισμό έκφρασης.
- Δεν υπάρχει στρατηγική ενημέρωσης ανοδικά. Ένας μετασχηματισμός Joiner δεν μπορεί να χρησιμοποιηθεί όταν οποιαδήποτε από τις δύο διοχετεύσεις εισόδου περιέχει έναν μετασχηματισμό Στρατηγικής Ενημέρωσης.
- Χωρίς ακολουθία Generator ακριβώς μπροστά του. Σύνδεση ακολουθίας Generator Ο μετασχηματισμός αμέσως πριν από τον Joiner δεν υποστηρίζεται.
- Η προσωρινή αποθήκευση δεν μπορεί να απενεργοποιηθεί. Ο κύριος αγωγός αποθηκεύεται πάντα στην προσωρινή μνήμη, γι' αυτό και η μικρότερη πηγή ανήκει στην πλευρά του κύριου και το μέγεθος της προσωρινής μνήμης έχει σημασία σε μεγάλες ενώσεις.
Η ένωση τριών πηγών απαιτεί δύο μετασχηματισμούς Joiner συνδεδεμένους μεταξύ τους, επειδή ο καθένας δέχεται ακριβώς έναν κύριο και έναν αγωγό λεπτομερειών. Όπου η δεύτερη πηγή είναι ένας μικρός πίνακας αναφοράς που διαβάζεται γραμμή προς γραμμή, ένα Μετασχηματισμός αναζήτησης είναι συχνά ο απλούστερος σχεδιασμός.








