Μετασχηματισμός Προκριματικού Πηγής στο Informatica με ΠΑΡΑΔΕΙΓΜΑ
⚡ Έξυπνη Σύνοψη
Ο μετασχηματισμός του Source Qualifier στο Informatica αντιπροσωπεύει τις γραμμές που διαβάζει η Υπηρεσία Ενοποίησης από μια σχεσιακή πηγή ή ένα επίπεδο αρχείο και επιτρέπει σε έναν προγραμματιστή να παρακάμψει το προεπιλεγμένο ερώτημα, να φιλτράρει, να ταξινομήσει και να καταργήσει τα διπλότυπα αυτών των δεδομένων.

Τι είναι ο Μετασχηματισμός Προκριματικού Πηγής;
Ο μετασχηματισμός Source Qualifier είναι ένας ενεργός, συνδεδεμένος μετασχηματισμός που αντιπροσωπεύει τις γραμμές που διαβάζει η Υπηρεσία Ενοποίησης όταν εκτελείται μια συνεδρία. Κάθε φορά που προστίθεται μια σχεσιακή πηγή ή ένα επίπεδο αρχείο σε έναν χάρτηping, απαιτείται ένας μετασχηματισμός Προσδιοριστή Πηγής και ο Σχεδιαστής προσθέτει έναν αυτόματα. Με τον Προσδιοριστή Πηγής, μπορείτε να ορίσετε και να παρακάμψετε τον τρόπο με τον οποίο ανακτώνται τα δεδομένα από την πηγή.
Ο μετασχηματισμός μετατρέπει επίσης τους εγγενείς τύπους δεδομένων της πηγής σε τύπους δεδομένων μετασχηματισμού Informatica, έτσι ώστε κάθε μετασχηματισμός που τοποθετείται μετά από αυτόν να λειτουργεί με ένα σύνολο τύπων ουδέτερο από πλατφόρμα.
Επειδή ο Προσδιοριστής Πηγής δημιουργεί το ερώτημα που φτάνει στην πραγματικότητα στη βάση δεδομένων, είναι το πρώτο μέρος που πρέπει να κοιτάξετε όταν ένα χαρτης διαβάζει περισσότερες γραμμές ή περισσότερες στήλες από όσες χρειάζεται. Το παρακάτω παράδειγμα περιορίζει το ερώτημα σε τέσσερις στήλες.
Πώς να τροποποιήσετε τον προσδιοριστή πηγής στην Informatica
Στο ακόλουθο παράδειγμα θα τροποποιήσουμε τον Προσδιοριστή Πηγής του χάρτη μαςping «m_emp_emp_target», έτσι ώστε αντί να επιστρέφει όλες τις στήλες, να επιστρέφει μόνο τις επιλεγμένες στήλες.
Βήμα 1) Άνοιγμα του χάρτηping «m_emp_emp_target» στον Χάρτηping Σχεδιαστής. Ο χάρτηςping Ανοίγει με την πηγή EMP, τον προσδιοριστή πηγής SQ_EMP και τον στόχο EMP_TARGET στον καμβά.
Βήμα 2) Double-κάντε κλικ στον μετασχηματισμό Source Qualifier “SQ_EMP”. Ανοίγει το παράθυρο Επεξεργασία Μετασχηματισμών για αυτό το αντικείμενο. Στη συνέχεια,
- Κάντε κλικ στην καρτέλα Ιδιότητες
- Κάντε κλικ στο SQL Επιλογή Τροποποίηση ερωτήματος, αυτό θα ανοίξει ένα παράθυρο επεξεργασίας SQL
Η καρτέλα Ιδιότητες εμφανίζει τη γραμμή ερωτήματος SQL που φαίνεται παρακάτω.
Βήμα 3) Στο παράθυρο του επεξεργαστή SQL
- Εισαγάγετε το ακόλουθο ερώτημα
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
Σημείωση – επιλέγουμε τις στήλες EMPNO, ENAME, JOB και MGR από την πηγή, επομένως έχουμε κρατήσει μόνο αυτές στο ερώτημα επιλογής
- Επιλέξτε το κουμπί OK
Ο Επεξεργαστής SQL διατηρεί πλέον το προσαρμοσμένο ερώτημα αντί για το δημιουργημένο.
Βήμα 4) Στο παράθυρο Επεξεργασία μετασχηματισμών,
- Επιλέξτε την καρτέλα Θύρες από το μενού
- Στην καρτέλα Θύρες θα δείτε όλες τις θύρες. Κρατήστε μόνο τις θύρες EMPNO, ENAME, JOB, MGR και διαγράψτε τις άλλες θύρες.
Η καρτέλα "Θύρες" παραθέτει κάθε θύρα που μεταφέρεται από τον μετασχηματισμό πριν από τη διαγραφή.
Βήμα 5) Μετά τη διαγραφή των θυρών, επιλέξτε το κουμπί OK. Μόνο οι τέσσερις υπόλοιπες θύρες απομένουν στη λίστα.
Τώρα κάντε ξανά κλικ στην καρτέλα Ιδιότητες στο παράθυρο Επεξεργασία Μετασχηματισμών και θα δείτε μόνο τα δεδομένα που έχετε επιλέξει.
Όταν κάνετε κλικ στο κουμπί "OK", θα ανοίξει το παράθυρο του SQL Editor.
- Θα επιβεβαιώσει ότι τα δεδομένα που έχετε επιλέξει είναι σωστά και έτοιμα για φόρτωση στον πίνακα προορισμού.
- Κάντε κλικ στο κουμπί OK για να συνεχίσετε
Το παράθυρο επιβεβαίωσης επαναλαμβάνει τις τέσσερις στήλες που θα διαβαστούν τώρα.
Αποθήκευση του χάρτηping (χρησιμοποιώντας τη συντόμευση Ctrl+S) και εκτελέστε την εντολή ροής εργασίαςΜετά την εκτέλεση, μόνο οι επιλεγμένες στήλες θα φορτωθούν στον προορισμό.
Με αυτόν τον τρόπο, μπορείτε να παρακάμψετε στον Προσδιοριστή Πηγής ποιες στήλες πρέπει να ανακτηθούν από την πηγή και αυτός είναι ο μόνος τρόπος για να ελέγξετε ποιες συγκεκριμένες στήλες μεταφέρονται μέσα στον χάρτη.ping.
Ιδιότητες του Προκριματικού Πηγής
Μπορείτε να χρησιμοποιήσετε διάφορες ιδιότητες του Προσδιοριστή Πηγής για να προσδιορίσετε τον τύπο δεδομένων προέλευσης που πρέπει να μετασχηματιστεί και να σταλεί στον πίνακα προορισμού.
- Φίλτρο πηγής – Χρησιμοποιώντας την ιδιότητα Φίλτρου Πηγής (Source Filter) μπορείτε να μειώσετε τον αριθμό των εγγραφών πηγής. Για παράδειγμα, εάν θέλετε να ανακτήσετε μόνο τους υπαλλήλους του τμήματος 10, μπορείτε να εισαγάγετε τη συνθήκη φίλτρου deptno=10 στην ιδιότητα Φίλτρου Πηγής και να εκτελέσετε τα δεδομένα. Συμπεριλάβετε το όνομα του πίνακα και το όνομα της θύρας στη συνθήκη και παραλείψτε τη λέξη-κλειδί WHERE – ένα φίλτρο που περιέχει το WHERE αποτυγχάνει στην περίοδο λειτουργίας.
- Αριθμός ταξινομημένων θυρών – Στον μετασχηματισμό Source Qualifier μπορείτε επίσης να ταξινομήσετε τις εγγραφές εισόδου κατά θέση θύρας. Η Υπηρεσία Ενοποίησης προσθέτει έναν όρο ORDER BY στο προεπιλεγμένο ερώτημα, μετρώντας τις θύρες από την κορυφή του μετασχηματισμού, έτσι ώστε τα δεδομένα να είναι ήδη ταξινομημένα όταν φτάσουν στους μετασχηματισμούς μέσα στον χάρτη.ping.
Καθώς τα δεδομένα μπορούν να ταξινομηθούν σε μία μόνο θύρα ή σε πολλές θύρες, πρέπει να δώσετε τον αριθμό των θυρών που θα χρησιμοποιηθούν στην ταξινόμηση. Εάν δώσετε την τιμή 1, τότε θα ταξινομηθούν μόνο τα δεδομένα empno. Εάν δώσετε την τιμή 2, τότε τα δεδομένα θα ταξινομηθούν τόσο στο empno όσο και στο ename.
- Επιλέξτε Διακεκριμένο – μπορείτε να ανακτήσετε μόνο διακριτές εγγραφές από την πηγή χρησιμοποιώντας αυτήν την ιδιότητα. Όταν επιλέγετε την επιλογή Select Distinct, η Υπηρεσία Ενοποίησης προσθέτει μια πρόταση SELECT DISTINCT, επομένως μόνο διακριτοί συνδυασμοί δεδομένων προέλευσης ανακτώνται από τον Προσδιοριστή Πηγής.
Η καρτέλα Ιδιότητες που εμφανίζεται παρακάτω περιέχει αυτές τις επιλογές μαζί με την υπόλοιπη λίστα ιδιοτήτων.
Η πλήρης λίστα ιδιοτήτων που είναι διαθέσιμη σε έναν σχεσιακό προσδιοριστή πηγής συνοψίζεται στον παρακάτω πίνακα.
| Ιδιοκτησία | Τι κάνει |
|---|---|
| Ερώτημα SQL | Αντικαθιστά το προεπιλεγμένο ερώτημα που δημιουργείται από την Υπηρεσία Ενοποίησης. Ένα προσαρμοσμένο ερώτημα παρακάμπτει μια σύνδεση που ορίζεται από τον χρήστη και ένα φίλτρο προέλευσης. |
| Σύνδεση οριζόμενη από τον χρήστη | Παρέχει τη συνθήκη που χρησιμοποιείται για την ένωση δεδομένων από διάφορες πηγές που αντιπροσωπεύονται από τον ίδιο Προσδιοριστή Πηγής. |
| Φίλτρο πηγής | Παρέχει τη συνθήκη φίλτρου που εφαρμόζει η Υπηρεσία Ενοποίησης κατά την υποβολή ερωτημάτων σε γραμμές. |
| Αριθμός ταξινομημένων θυρών | Αριθμός στηλών που χρησιμοποιούνται για την ταξινόμηση γραμμών που διαβάζονται από σχεσιακές προελεύσεις, οι οποίες προστίθενται στο ερώτημα ως ORDER BY. |
| TracΕπίπεδο ing | Ποσότητα λεπτομερειών που εγγράφηκαν στο αρχείο καταγραφής περιόδου λειτουργίας για αυτόν τον μετασχηματισμό. |
| Επιλέξτε Διακεκριμένο | Επιστρέφει μόνο μοναδικές γραμμές προσθέτοντας τη συνάρτηση SELECT DISTINCT στο ερώτημα. |
| Προ-SQL | Οι εντολές εκτελούνται στη βάση δεδομένων προέλευσης πριν η Υπηρεσία Ενοποίησης διαβάσει την πηγή. |
| Μετα-SQL | Οι εντολές εκτελούνται στη βάση δεδομένων προέλευσης αφού η Υπηρεσία Ενοποίησης γράψει στον προορισμό. |
| Η έξοδος είναι ντετερμινιστική | Δηλώνει ότι η πηγή επιστρέφει τα ίδια δεδομένα μεταξύ των εκτελέσεων όταν η είσοδος είναι συνεπής. |
| Η έξοδος είναι επαναλήψιμη | Δηλώνει ότι η πηγή επιστρέφει γραμμές με την ίδια σειρά μεταξύ των εκτελέσεων, κάτι που επιτρέπει στην Υπηρεσία Ενοποίησης να παρακάμπτει την προετοιμασία για ανάκτηση. |
Κανόνες και οδηγίες για παράκαμψη SQL προσδιοριστή πηγαίου κώδικα
Μια παράκαμψη SQL είναι ισχυρή επειδή αντικαθιστά όλα όσα δημιούργησε ο Σχεδιαστής και αυτός είναι επίσης ο λόγος που διακόπτεται αθόρυβα όταν αγνοούνται οι παρακάτω κανόνες.
- Συνδέστε πρώτα τις θύρες. Συνδέστε κάθε θύρα εισόδου και εξόδου που σκοπεύετε να χρησιμοποιήσετε πριν από την εισαγωγή του ερωτήματος, επειδή το δημιουργημένο ερώτημα δημιουργείται από τις συνδεδεμένες θύρες.
- Διατηρήστε τη λίστα SELECT με τη σειρά των θυρών. Η πρόταση SELECT πρέπει να εμφανίζει τα ονόματα των θυρών με τη σειρά που εμφανίζονται στον μετασχηματισμό. Εάν η σειρά δεν ταιριάζει, η συνεδρία μπορεί να αποτύχει ή να επιστρέψει μη αναμενόμενα αποτελέσματα.
- Προσδιορίστε κάθε στήλη. Κάθε όνομα στήλης πρέπει να έχει ως πρόθεμα τον πίνακα, την προβολή ή το συνώνυμο στο οποίο ανήκει, για παράδειγμα ORDERS.ORDER_ID.
- Δημιουργήστε πριν από την επεξεργασία. Κάνοντας κλικ στην επιλογή Δημιουργία SQL εμφανίζεται το προεπιλεγμένο ερώτημα, το οποίο περιέχει ήδη το φίλτρο πηγαίου κώδικα και τον όρο ταξινομημένα-ports, επομένως η παράκαμψη μπορεί να δημιουργηθεί από μια λειτουργική πρόταση.
- Επικυρώστε τη δήλωση. Ο Επεξεργαστής SQL διαθέτει ένα κουμπί Επικύρωσης που εκτελεί το ερώτημα και αναφέρει εάν η σύνταξη είναι σωστή πριν από την έναρξη της συνεδρίας.
- Παραθέστε δεσμευμένες λέξεις. Οποιαδήποτε δεσμευμένη λέξη βάσης δεδομένων που χρησιμοποιείται στο ερώτημα πρέπει να περικλείεται σε εισαγωγικά.
- Προσέξτε την προτεραιότητα. Ένα προσαρμοσμένο ερώτημα παρακάμπτει το φίλτρο προέλευσης και τον αριθμό των ταξινομημένων θυρών, και ένα ερώτημα SQL που εισάγεται στο Συνεδρίαση Οι ιδιότητες παρακάμπτουν τόσο την συνθήκη φίλτρου όσο και το ερώτημα που ορίζεται στον χάρτηping.
Για Microsoft SQL Server Στις πηγές υπάρχει ένας επιπλέον κανόνας: ο αριθμός των στηλών στην πρόταση SELECT πρέπει να ταιριάζει με τον αριθμό των θυρών στον μετασχηματισμό, διαφορετικά η συνεδρία θα αποτύχει κατά την ανάκτηση γραμμών.
Πώς να ενώσετε δύο πηγές με έναν προσδιοριστή πηγής
Ένας μεμονωμένος Προσδιοριστής Πηγής μπορεί να διαβάσει περισσότερους από έναν πίνακες. Όταν δύο σχετικοί πίνακες από την ίδια σχεσιακή πηγή συνδέονται με έναν Προσδιοριστή Πηγής, η Υπηρεσία Ενοποίησης τους ενώνει μέσα στο ερώτημα πηγής και όχι μέσα στον χάρτη.ping, πράγμα που σημαίνει ότι η βάση δεδομένων κάνει την εργασία και λιγότερες γραμμές μεταφέρονται στην περίοδο λειτουργίας.
Η προεπιλεγμένη σύνδεση είναι μια εσωτερική ισοσύνδεσμος που γράφεται στον όρο WHERE ως Source1.column_name = Source2.column_name. Για να δημιουργηθεί αυτή η σύνδεση, οι συνδεδεμένες στήλες πρέπει να έχουν μια σχέση πρωτεύοντος κλειδιού-ξένου κλειδιού και αντίστοιχους τύπους δεδομένων. Όπου τα εισαγόμενα μεταδεδομένα δεν έχουν τέτοια σχέση, μπορείτε να δημιουργήσετε ένα στο Αναλυτής πηγής συνδέοντας τις αντίστοιχες στήλες των δύο ορισμών πηγής.
Όταν η σχέση λείπει ή η σύνδεση πρέπει να είναι εξωτερική σύνδεση, χρησιμοποιήστε την ιδιότητα Σύνδεση οριζόμενη από τον χρήστη. Η συνθήκη που εισάγεται εκεί αντικαθιστά τις πληροφορίες σύνδεσης που διατηρούνται στα μεταδεδομένα και η Υπηρεσία Ενοποίησης τις προσαρτά στο δημιουργημένο ερώτημα.
Αξίζει να θυμόμαστε δύο όρια. Και οι δύο πίνακες πρέπει να προέρχονται από την ίδια σχεσιακή πηγή και οι πηγές διαφορετικών τύπων - ένα επίπεδο αρχείο και ένας πίνακας ή δύο διαφορετικές βάσεις δεδομένων - πρέπει να ενωθούν με το Μεταμόρφωση ξυλουργού Αντιθέτως.
Προσδιοριστής Πηγής vs Μετασχηματισμός Φίλτρου vs Μετασχηματισμός Συνεργάτη
Τρία αντικείμενα μπορούν να μειώσουν ή να συνδυάσουν σειρές και η επιλογή λανθασμένου αντικειμένου είναι μια συνηθισμένη αιτία αργών περιόδων σύνδεσης. Ο παρακάτω πίνακας τα παραθέτει δίπλα-δίπλα.
| Άποψη | Προσδιορισμός πηγής | Μετασχηματισμός φίλτρου | Μεταμόρφωση ξυλουργού |
|---|---|---|---|
| Πού τρέχει η εργασία | Στη βάση δεδομένων προέλευσης, μέσα στο δημιουργημένο ερώτημα | Στην Υπηρεσία Ενοποίησης, γραμμή προς γραμμή | Στην Υπηρεσία Ενοποίησης, χρησιμοποιώντας μια προσωρινή μνήμη |
| Κύριος σκοπός | Ανάγνωση γραμμών πηγής, παράκαμψη του ερωτήματος, φιλτράρισμα, ταξινόμηση, κατάργηση διπλότυπων | Απόρριψη γραμμών που δεν αποτυγχάνουν σε μία συνθήκη | Συνδυάστε δύο αγωγούς σε ένα σύνολο σειρών |
| Τύποι πηγών | Σχεσιακοί πίνακες και επίπεδα αρχεία μιας πηγής | Οποιαδήποτε δεδομένα αγωγού | Ετερογενείς πηγές, συμπεριλαμβανομένων επίπεδων αρχείων και διαφορετικών βάσεων δεδομένων |
| Γίνετε μέλος της υποστήριξης | Εσωτερική ισοσύνδεση ή μια ένωση οριζόμενη από τον χρήστη εντός μίας σχεσιακής πηγής | Ν/Α | Κανονικές, κύριες εξωτερικές, λεπτομερείς εξωτερικές και πλήρεις εξωτερικές ενώσεις |
| Γραμμές που διασχίζουν το δίκτυο | Μόνο οι γραμμές που επιστρέφει το ερώτημα | Κάθε γραμμή πηγής διαβάζεται πρώτα | Κάθε γραμμή πηγής διαβάζεται πρώτα |
Ο πρακτικός κανόνας είναι απλός: φιλτράρετε και ενώστε όσο νωρίτερα το επιτρέπει η πηγή και αναζητήστε ένα Φίλτρα ή ένας Joiner μόνο για εργασία που δεν μπορεί να κάνει η βάση δεδομένων πηγής. Η εισαγωγή συνθηκών στον Προσδιοριστή Πηγής είναι μια από τις φθηνότερες νίκες που διατίθενται κατά τη διάρκεια συντονισμός απόδοσης.








