Joiner Transformation στην Informatica με ΠΑΡΑΔΕΙΓΜΑ

⚡ Έξυπνη Σύνοψη

Ο μετασχηματισμός Joiner στην Informatica είναι το ενεργό, συνδεδεμένο αντικείμενο που ενώνει δύο ετερογενείς πηγές υπό μια αντίστοιχη συνθήκη, αποθηκεύοντας προσωρινά τον κύριο αγωγό στη μνήμη ενώ ο αγωγός λεπτομερειών ρέει μέσα από αυτόν.

  • 🧩 Κύριος και λεπτομέρεια: Δύο αγωγοί εισόδου τροφοδοτούν τον μετασχηματισμό και η καρτέλα Θύρες αποφασίζει ποια από τις δύο λειτουργεί ως κύρια.
  • 💾 Το κύριο αρχείο αποθηκεύεται προσωρινά: Ο κύριος αγωγός είναι πάντα ενσωματωμένος σε μια ευρετήριο και μια προσωρινή μνήμη δεδομένων, επομένως η μικρότερη πηγή ανήκει εκεί.
  • 🔗 Τέσσερις τύποι σύνδεσης: Οι τιμές Normal, Master Outer, Detail Outer και Full Outer καθορίζουν ποιες μη ταιριασμένες γραμμές επιβιώνουν από την ένωση.
  • 🧪 Λειτουργικό παράδειγμα: Τα EMP και DEPT συνδέονται στο deptno με μια κανονική σύνδεση και φορτώνονται στο EMP_DEPTNAME.
  • Μόνο ισότητα: Μια συνθήκη σύνδεσης συγκρίνει τις θύρες με τον τελεστή equals και και οι δύο θύρες πρέπει να μοιράζονται έναν τύπο δεδομένων.
  • Ταξινομημένη εισαγωγή: Η προταξινόμηση και των δύο αγωγών στις θύρες συνθήκης διακόπτει την είσοδο και έξοδο του δίσκου κατά τη διάρκεια της συνεδρίας.

Joiner Transformation in Informatica

Τι είναι το Joiner Transformation;

Ο μετασχηματισμός Joiner είναι ένας ενεργός και συνδεδεμένος μετασχηματισμός που σας παρέχει την επιλογή δημιουργίας συνδέσεων στο Informatica. Οι συνδέσεις που δημιουργούνται χρησιμοποιώντας τον μετασχηματισμό Joiner είναι παρόμοιες με τις συνδέσεις σε βάσεις δεδομένων. Το πλεονέκτημα του μετασχηματισμού Joiner είναι ότι οι συνδέσεις μπορούν να δημιουργηθούν για ετερογενή συστήματα (διαφορετικές βάσεις δεδομένων).

Στον μετασχηματισμό Joiner, υπάρχουν δύο πηγές που θα χρησιμοποιήσουμε για ενώσεις. Αυτές οι δύο πηγές ονομάζονται

  • Κύρια πηγή
  • Λεπτομέρεια Πηγή

Στις ιδιότητες του μετασχηματισμού Joiner, μπορείτε να επιλέξετε ποια πηγή δεδομένων μπορεί να είναι κύρια και ποια πηγή μπορεί να είναι η πηγή λεπτομερειών.

Κατά την εκτέλεση, η κύρια πηγή αποθηκεύεται προσωρινά στη μνήμη για σκοπούς σύνδεσης. Επομένως, συνιστάται να επιλέξετε την πηγή με λιγότερες εγγραφές ως κύρια πηγή. Ο κύριος αγωγός διατηρείται σε δύο προσωρινές μνήμες: μια προσωρινή μνήμη ευρετηρίου για τις τιμές που χρησιμοποιούνται στη συνθήκη σύνδεσης και μια προσωρινή μνήμη δεδομένων για τα υπόλοιπα δεδομένα γραμμής.

Τύποι συνδέσεων στον μετασχηματισμό συνδέτη

Η ιδιότητα Τύπος σύνδεσης (Join Type) στην καρτέλα Ιδιότητες (Properties) αποφασίζει τι θα συμβεί στις γραμμές που δεν βρίσκουν αντιστοιχία. Οι ακόλουθες συνδέσεις μπορούν να δημιουργηθούν χρησιμοποιώντας τον μετασχηματισμό Joiner.

  1. Κύρια εξωτερική ένωση – Σε μια κύρια εξωτερική ένωση, όλες οι εγγραφές από την προέλευση λεπτομερειών επιστρέφονται από την ένωση και επιστρέφονται μόνο οι αντίστοιχες γραμμές από την κύρια προέλευση.
  2. Λεπτομέρεια εξωτερική ένωση – Σε μια εξωτερική ένωση λεπτομερειών, επιστρέφονται μόνο οι αντίστοιχες γραμμές από την προέλευση λεπτομερειών και επιστρέφονται όλες οι γραμμές από την κύρια προέλευση.
  3. Πλήρης εξωτερική ένωση – Σε μια πλήρη εξωτερική ένωση, επιστρέφονται όλες οι εγγραφές και από τις δύο πηγές.
  4. Κανονική ένταξη – Σε μια κανονική ένωση, επιστρέφονται μόνο οι αντίστοιχες γραμμές και από τις δύο πηγές.

Οι κύριες εξωτερικές και οι λεπτομερείς εξωτερικές ενώσεις είναι ισοδύναμες με τις αριστερές εξωτερικές ενώσεις στο SQL: το καθένα διατηρεί κάθε γραμμή μιας πηγής και μόνο τις αντιστοιχίες από την άλλη. Ο παρακάτω πίνακας αντιστοιχίζει τους τέσσερις τύπους με τα αντίστοιχα SQL.

Τύπος συμμετοχής Οι γραμμές διατηρούνται από τον κύριο Οι γραμμές διατηρούνται από λεπτομέρειες Ισοδύναμο SQL
Κανονική ένταξη Μόνο αντιστοίχιση Μόνο αντιστοίχιση Εσωτερική σύνδεση
Κύρια εξωτερική ένωση Μόνο αντιστοίχιση Όλες οι σειρές Αριστερός εξωτερικός σύνδεσμος στην πηγή λεπτομερειών
Λεπτομέρεια εξωτερική ένωση Όλες οι σειρές Μόνο αντιστοίχιση Αριστερός εξωτερικός σύνδεσμος στην κύρια πηγή
Πλήρης εξωτερική ένωση Όλες οι σειρές Όλες οι σειρές Πλήρης εξωτερική ένωση

Ο τύπος σύνδεσης είναι μια ιδιότητα, όχι μια δομική επιλογή, επομένως μπορεί να αλλάξει αργότερα χωρίς να ανακατασκευαστεί ο χάρτηςping ή επανασύνδεση οποιωνδήποτε θυρών.

Πώς να χρησιμοποιήσετε τον μετασχηματισμό Joiner στην Informatica

Σε αυτό το παράδειγμα, θα ενώσουμε τους πίνακες emp και dept χρησιμοποιώντας μετασχηματισμό Joiner. Επεξεργαστείτε τα οκτώ βήματα παρακάτω στον Χάρτη.ping Σχεδιαστής.

Βήμα 1) Δημιουργήστε έναν νέο πίνακα προορισμού EMP_DEPTNAME στη βάση δεδομένων χρησιμοποιώντας το παρακάτω σενάριο και εισαγάγετε τον πίνακα στους στόχους της Informatica.

Κατεβάστε το παραπάνω Αρχείο emp_deptname.sql

Βήμα 2) Δημιουργήστε ένα νέο χαρτης και εισάγουμε τους πίνακες προέλευσης "EMP" και "DEPT" και τον πίνακα προορισμού που δημιουργήσαμε στο προηγούμενο βήμα. Και οι τρεις ορισμοί βρίσκονται τώρα στον καμβά, όπως φαίνεται παρακάτω.

Χάρτηςping Καμβάς σχεδιαστή με τις πηγές EMP και DEPT και τον ορισμό στόχου EMP_DEPTNAME

Βήμα 3) Από το μενού Μετασχηματισμός, επιλέξτε την επιλογή Δημιουργία. Στη συνέχεια, στο παράθυρο Δημιουργία Μετασχηματισμού που φαίνεται παρακάτω,

  1. Επιλέξτε μετασχηματισμό ξυλουργού
  2. Εισαγάγετε το όνομα μετασχηματισμού "jnr_emp_dept"
  3. Επιλέξτε την επιλογή δημιουργίας

Δημιουργία παραθύρου μετασχηματισμού με επιλεγμένο το Joiner και καταχωρημένο το όνομα jnr_emp_dept

Βήμα 4) Σύρετε και αποθέστε όλες τις στήλες και από τα δύο Προσδιοριστές Πηγής στον μετασχηματισμό Joiner. Και οι δύο αγωγοί είναι πλέον συνδεδεμένοι στο jnr_emp_dept, όπως φαίνεται στο στιγμιότυπο οθόνης.

Στήλες και από τους δύο Προσδιοριστές Πηγής μεταφέρθηκαν στον μετασχηματισμό Joiner jnr_emp_dept

Βήμα 5) Double κάντε κλικ στον μετασχηματισμό Joiner και, στη συνέχεια, στο παράθυρο Επεξεργασία μετασχηματισμών

  1. Επιλέξτε την καρτέλα συνθήκης
  2. Κάντε κλικ στο εικονίδιο προσθήκης νέας συνθήκης
  3. Επιλέξτε deptno στη λίστα βασικών στηλών και στηλών λεπτομερειών

Η καρτέλα Συνθήκη περιέχει πλέον τη συνθήκη single join στο deptno.

Καρτέλα Συνθήκης του μετασχηματισμού Joiner με επιλεγμένο deptno στις στήλες master και detail

Βήμα 6) Μετά στο ίδιο παράθυρο

  1. Επιλέξτε την καρτέλα ιδιότητες
  2. Επιλέξτε Κανονική Ένωση ως τύπο σύνδεσης
  3. Επιλέξτε το κουμπί OK

Η καρτέλα Ιδιότητες με τον τύπο σύνδεσης που έχει οριστεί εμφανίζεται στη συνέχεια.

Καρτέλα Ιδιότητες του μετασχηματισμού Joiner με τον τύπο σύνδεσης ορισμένο σε Κανονική σύνδεση

Για βελτιστοποίηση της απόδοσης, αντιστοιχίζουμε την κύρια πηγή στον αγωγό του πίνακα πηγής που έχει λιγότερες εγγραφές. Για να εκτελέσετε αυτήν την εργασία:

Βήμα 7) Double κάντε κλικ στον μετασχηματισμό Joiner για να ανοίξετε το παράθυρο Επεξεργασία μετασχηματισμών και, στη συνέχεια,

  1. Επιλέξτε την καρτέλα Ports
  2. Επιλέξτε οποιαδήποτε στήλη μιας συγκεκριμένης πηγής που θέλετε να κάνετε κύρια
  3. Επιλέξτε OK

Η καρτέλα "Θύρες" επισημαίνει τον επιλεγμένο αγωγό ως κύριο, όπως φαίνεται παρακάτω.

Καρτέλα "Θύρες" του μετασχηματισμού Joiner με την κύρια σημαία να έχει οριστεί σε έναν αγωγό προέλευσης

Βήμα 8) Συνδέστε τις σχετικές στήλες από τον μετασχηματισμό Joiner με τον πίνακα-στόχο. Ο χάρτηςping τώρα εκτελείται και από τις δύο πηγές μέσω της σύνδεσης στο EMP_DEPTNAME.

Συνδεδεμένες στήλες που συνδέονται από το jnr_emp_dept στον πίνακα-στόχο EMP_DEPTNAME

Τώρα αποθηκεύστε τον χάρτηping και εκτελέστε το αφού δημιουργήσετε ένα Συνεδρίαση και ροής εργασίας για αυτό. Η σύνδεση θα δημιουργηθεί χρησιμοποιώντας το Informatica Joiner και οι σχετικές λεπτομέρειες θα ανακτηθούν και από τους δύο πίνακες.

Ιδιότητες μετασχηματισμού Joiner

Η καρτέλα Ιδιότητες περιέχει περισσότερα από τον τύπο σύνδεσης. Οι παρακάτω ρυθμίσεις ελέγχουν πόση μνήμη χρησιμοποιεί η σύνδεση και πού εγγράφονται τα αρχεία προσωρινής μνήμης.

Ρύθμιση Τι ελέγχει
Εγγραφή τύπου Κανονική, Κύρια εξωτερική, Λεπτομερής εξωτερική ή Πλήρης εξωτερική. Αποφασίζει ποιες μη ταιριασμένες γραμμές διατηρούνται.
Συνθήκη Συμμετοχής Η λίστα των ζευγών θύρας master-to-detail σε σύγκριση με τον τελεστή equals. Αρκετές συνθήκες συνδυάζονται με AND.
Ταξινομημένη Είσοδος Δηλώνει ότι και οι δύο αγωγοί φτάνουν ήδη ταξινομημένοι με βάση τις θύρες συνθήκης, γεγονός που επιτρέπει στην Υπηρεσία Ενοποίησης να ελαχιστοποιεί την είσοδο και έξοδο του δίσκου.
Κύρια σειρά ταξινόμησης Η σειρά ταξινόμησης των δεδομένων κύριας πηγής, που χρησιμοποιούνται μαζί με τα ταξινομημένα δεδομένα εισόδου.
Κατάλογος προσωρινής μνήμης Κατάλογος στον οποίο δημιουργούνται τα αρχεία ευρετηρίου και προσωρινής μνήμης δεδομένων. Η προεπιλογή είναι η μεταβλητή διεργασίας $PMCacheDir.
Μέγεθος προσωρινής μνήμης δεδομένων joiner Μέγεθος της προσωρινής μνήμης δεδομένων που περιέχει τα δεδομένα της κύριας γραμμής. Η προεπιλογή είναι Αυτόματη, η οποία επιτρέπει στην Υπηρεσία Ενοποίησης να καθορίσει το μέγεθός της.
Μέγεθος προσωρινής μνήμης δείκτη σύνδεσης Μέγεθος της προσωρινής μνήμης ευρετηρίου που περιέχει τις τιμές της κύριας συνθήκης. Η προεπιλογή είναι Αυτόματη.
Πεδίο εφαρμογής μετασχηματισμού Εφαρμόζει την ένωση σε κάθε συναλλαγή, σε όλα τα εισερχόμενα δεδομένα ή σε ένα πεδίο εφαρμογής σε επίπεδο γραμμής.

Η ταξινομημένη είσοδος είναι η ρύθμιση που αξίζει να αναζητήσετε πρώτα. Όταν και οι δύο αγωγοί φτάνουν ταξινομημένοι από τις θύρες συνθήκης, η Υπηρεσία Ενοποίησης δεν χρειάζεται να διατηρεί ολόκληρη την κύρια πηγή πριν ξεκινήσει η αντιστοίχιση, η οποία είναι η ίδια αρχή που εφαρμόζεται κατά τη διάρκεια συντονισμός απόδοσης άλλων μετασχηματισμών που αποθηκεύονται στην προσωρινή μνήμη.

Κανόνες και περιορισμοί μετασχηματισμού Joiner

Ορισμένοι περιορισμοί εμφανίζονται μόνο όταν ο χάρτηςping είναι επικυρωμένο, επομένως είναι φθηνότερο να τα γνωρίζετε πριν συνδεθούν οι θύρες.

  • Μόνο ισότητα. Μια συνθήκη σύνδεσης συγκρίνει τις θύρες με τον τελεστή ίσον. Οι τελεστές σύγκρισης όπως μεγαλύτερο από, μικρότερο από ή όχι ίσο με δεν γίνονται δεκτοί στη συνθήκη.
  • Αντιστοίχιση τύπων δεδομένων. Και οι δύο θύρες σε μια συνθήκη πρέπει να έχουν τον ίδιο τύπο δεδομένων. Ο Σχεδιαστής το επικυρώνει αυτό, επομένως οι στήλες που δεν ταιριάζουν πρέπει πρώτα να μετατραπούν, συνήθως σε έναν μετασχηματισμό έκφρασης.
  • Δεν υπάρχει στρατηγική ενημέρωσης ανοδικά. Ένας μετασχηματισμός Joiner δεν μπορεί να χρησιμοποιηθεί όταν οποιαδήποτε από τις δύο διοχετεύσεις εισόδου περιέχει έναν μετασχηματισμό Στρατηγικής Ενημέρωσης.
  • Χωρίς ακολουθία Generator ακριβώς μπροστά του. Σύνδεση ακολουθίας Generator Ο μετασχηματισμός αμέσως πριν από τον Joiner δεν υποστηρίζεται.
  • Η προσωρινή αποθήκευση δεν μπορεί να απενεργοποιηθεί. Ο κύριος αγωγός αποθηκεύεται πάντα στην προσωρινή μνήμη, γι' αυτό και η μικρότερη πηγή ανήκει στην πλευρά του κύριου και το μέγεθος της προσωρινής μνήμης έχει σημασία σε μεγάλες ενώσεις.

Η ένωση τριών πηγών απαιτεί δύο μετασχηματισμούς Joiner συνδεδεμένους μεταξύ τους, επειδή ο καθένας δέχεται ακριβώς έναν κύριο και έναν αγωγό λεπτομερειών. Όπου η δεύτερη πηγή είναι ένας μικρός πίνακας αναφοράς που διαβάζεται γραμμή προς γραμμή, ένα Μετασχηματισμός αναζήτησης είναι συχνά ο απλούστερος σχεδιασμός.

Συχνές Ερωτήσεις

Δύο. Κάθε Joiner δέχεται έναν κύριο και έναν λεπτομερή αγωγό, επομένως η σύνδεση τριών πηγών σημαίνει αλυσιδωτή σύνδεση δύο από αυτές: η έξοδος της πρώτης γίνεται αγωγός εισόδου της δεύτερης. Γενικά, n πηγές χρειάζονται n μείον ένα.

Όταν και οι δύο πίνακες βρίσκονται στην ίδια σχεσιακή βάση δεδομένων. Ο Προσδιοριστής Πηγής ωθεί αυτήν την ένωση προς τα κάτω στη βάση δεδομένων, αποφεύγοντας εντελώς την προσωρινή αποθήκευση. Χρησιμοποιήστε τον Συνδυαστή μόνο όταν οι δύο πηγές είναι ετερογενείς ή βρίσκονται ήδη σε ξεχωριστές διοχετεύσεις.

Η προσωρινή μνήμη ευρετηρίου αποθηκεύει τις τιμές κύριας θύρας που ονομάζονται στη συνθήκη σύνδεσης και η προσωρινή μνήμη δεδομένων αποθηκεύει τα υπόλοιπα δεδομένα κύριας γραμμής που επιστρέφονται από τη σύνδεση. Και οι δύο δημιουργούνται μόνο από τον κύριο αγωγό, ποτέ από τον αγωγό λεπτομερειών.

Όχι. Ένα null σε οποιαδήποτε από τις δύο θύρες προκαλεί την αποτυχία της συνθήκης, ακριβώς όπως συμβαίνει και στην SQL, επομένως αυτές οι γραμμές αντιμετωπίζονται ως μη ταιριασμένες. Αντικαταστήστε τα null με μια προεπιλεγμένη τιμή πριν από την έναρξη της διαδικασίας, όταν υποτίθεται ότι θα ενωθούν.

Ναι. Προσθέστε τον ορισμό πηγής στον χάρτηping δύο φορές ώστε να υπάρχουν δύο ξεχωριστές διοχετεύσεις και, στη συνέχεια, τροφοδοτήστε μία στην πλευρά του κύριου και μία στην πλευρά των λεπτομερειών. Αυτός είναι ο συνήθης τρόπος για να επαναφέρετε μια στήλη διαχειριστή σε ένα όνομα υπαλλήλου.

Ναι, και αυτή η ετερογενής περίπτωση είναι ο κύριος λόγος για τον οποίο υπάρχει ο μετασχηματισμός. Ένας επίπεδος αγωγός αρχείων και ένας σχεσιακός αγωγός συνδέονται σε αντίστοιχες θύρες, όπως ακριβώς θα έκαναν δύο πίνακες βάσεων δεδομένων, επειδή η σύνδεση πραγματοποιείται μέσα στην Υπηρεσία Ενοποίησης.

Οι βοηθοί τεχνητής νοημοσύνης δημιουργούν προφίλ και για τις δύο πηγές για να προτείνουν υποψήφια κλειδιά σύνδεσης, να εκτιμούν τον αριθμό των γραμμών, ώστε η μικρότερη πλευρά να επιλέγεται ως κύρια, και να επισημαίνουν ασύμμετρες ή στήλες με υψηλό μηδενικό αριθμό που θα μπορούσαν να διασπάσουν το σύνολο αποτελεσμάτων. Οι σύμβουλοι που βασίζονται στη μηχανική μάθηση κατατάσσουν επίσης τις επιλογές μεγέθους της προσωρινής μνήμης.

Το Copilot συντάσσει γρήγορα το ισοδύναμο SQL και τις μετατροπές τύπων δεδομένων, γεγονός που μειώνει την εργασία προετοιμασίας των ports. Δεν μπορεί να δει τα μεγέθη της προσωρινής μνήμης ή τον αριθμό των γραμμών σας, επομένως επαληθεύστε κάθε πρόταση σε σχέση με τον χάρτη.ping πριν το αποθηκεύσετε.

Συνοψίστε αυτήν την ανάρτηση με: