Chuyển đổi vòng loại nguồn trong Informatica với VÍ DỤ
⚡ Tóm tắt thông minh
Trong Informatica, phép biến đổi Source Qualifier thể hiện các hàng mà Integration Service đọc từ nguồn dữ liệu quan hệ hoặc tệp phẳng, cho phép nhà phát triển ghi đè truy vấn mặc định, lọc, sắp xếp và loại bỏ dữ liệu trùng lặp.

Chuyển đổi vòng loại nguồn là gì?
Phép biến đổi Source Qualifier là một phép biến đổi chủ động, được kết nối, thể hiện các hàng mà Integration Service đọc khi một phiên chạy. Bất cứ khi nào một nguồn dữ liệu quan hệ hoặc một tập tin phẳng được thêm vào bản đồ.pingCần có một phép biến đổi Source Qualifier, và Designer sẽ tự động thêm phép biến đổi này. Với Source Qualifier, bạn có thể định nghĩa và ghi đè cách dữ liệu được lấy từ nguồn.
Quá trình chuyển đổi này cũng chuyển đổi các kiểu dữ liệu gốc của nguồn thành các kiểu dữ liệu chuyển đổi của Informatica, do đó mọi phép chuyển đổi được đặt sau đó đều hoạt động với một tập hợp kiểu dữ liệu trung lập với nền tảng.
Vì Source Qualifier xây dựng truy vấn thực sự đến được cơ sở dữ liệu, nên đây là nơi đầu tiên cần xem xét khi... bản đồping Đọc nhiều hàng hoặc nhiều cột hơn mức cần thiết. Ví dụ bên dưới thu hẹp truy vấn xuống còn bốn cột.
Cách chỉnh sửa Source Qualifier trong Informatica
Trong ví dụ sau, chúng ta sẽ sửa đổi Source Qualifier của bản đồ.ping “m_emp_emp_target”, để thay vì trả về tất cả các cột, nó chỉ trả về các cột được chọn.
Bước 1) Mở bản đồping “m_emp_emp_target” trong Mapping Nhà thiết kế. Bản đồping Mở đầu bằng việc hiển thị nguồn EMP, bộ định lượng nguồn SQ_EMP và mục tiêu EMP_TARGET trên khung vẽ.
Bước 2) Double- Nhấp chuột vào phép biến đổi Source Qualifier “SQ_EMP”. Thao tác này sẽ mở cửa sổ Chỉnh sửa phép biến đổi cho đối tượng đó. Sau đó,
- Nhấp vào tab Thuộc tính
- Nhấn vào SQL Tùy chọn Sửa đổi truy vấn, thao tác này sẽ mở cửa sổ soạn thảo SQL
Tab Thuộc tính hiển thị dòng Truy vấn SQL như hình bên dưới.
Bước 3) Trong cửa sổ soạn thảo SQL
- Nhập truy vấn sau
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
Lưu ý – Chúng tôi đang chọn các cột EMPNO, ENAME, JOB và MGR từ nguồn dữ liệu, vì vậy chúng tôi chỉ giữ lại các cột đó trong truy vấn SELECT.
- Chọn nút OK
Trình soạn thảo SQL hiện lưu trữ truy vấn tùy chỉnh thay vì truy vấn được tạo tự động.
Bước 4) Trong cửa sổ Chỉnh sửa phép biến đổi,
- Chọn tab Cổng từ menu
- Trong tab Cổng, bạn sẽ thấy tất cả các cổng. Chỉ giữ lại các cổng EMPNO, ENAME, JOB, MGR và xóa các cổng khác.
Tab Cổng liệt kê mọi cổng được sử dụng trong quá trình chuyển đổi trước khi xóa.
Bước 5) Sau khi xóa các cổng, chọn nút OK. Chỉ còn lại bốn cổng trong danh sách.
Bây giờ hãy nhấp vào tab Thuộc tính một lần nữa trong cửa sổ Chỉnh sửa phép biến đổi, và bạn sẽ chỉ thấy dữ liệu mà bạn đã chọn.
Khi bạn nhấn nút “OK”, cửa sổ Trình chỉnh sửa SQL sẽ mở ra.
- Thao tác này sẽ xác nhận rằng dữ liệu bạn đã chọn là chính xác và sẵn sàng để tải vào bảng đích.
- Nhấp vào nút OK để tiếp tục.
Cửa sổ xác nhận sẽ lặp lại bốn cột sẽ được đọc tiếp theo.
Lưu bản đồping (sử dụng phím tắt Ctrl+S) và thực thi quy trình làm việcSau khi thực thi, chỉ những cột đã chọn mới được tải vào đích.
Bằng cách này, bạn có thể ghi đè trong Source Qualifier để chỉ định cột nào cần được lấy từ nguồn, và đây là cách duy nhất để kiểm soát các cột cụ thể nào được đưa vào trong map.ping.
Thuộc tính của Bộ định tính nguồn
Bạn có thể sử dụng nhiều thuộc tính khác nhau của Bộ lọc nguồn để xác định loại dữ liệu nguồn nào cần được chuyển đổi và gửi đến bảng đích.
- Bộ lọc nguồn – Sử dụng thuộc tính Bộ lọc nguồn, bạn có thể giảm số lượng bản ghi nguồn. Ví dụ, nếu bạn chỉ muốn lấy nhân viên của phòng ban số 10, bạn có thể nhập điều kiện lọc deptno=10 vào thuộc tính Bộ lọc nguồn và thực thi dữ liệu. Bao gồm tên bảng và tên cổng trong điều kiện, và bỏ từ khóa WHERE – bộ lọc chứa WHERE sẽ làm hỏng phiên.
- Số lượng cổng được sắp xếp – Trong phép biến đổi Source Qualifier, bạn cũng có thể sắp xếp các bản ghi đầu vào theo vị trí cổng. Dịch vụ tích hợp sẽ thêm mệnh đề ORDER BY vào truy vấn mặc định, đếm các cổng từ đầu phép biến đổi, do đó dữ liệu đã được sắp xếp khi đến các phép biến đổi bên trong map.ping.
Vì dữ liệu có thể được sắp xếp trên một cổng hoặc nhiều cổng, bạn phải chỉ định số lượng cổng sẽ được sử dụng để sắp xếp. Nếu bạn nhập giá trị 1, thì chỉ dữ liệu empno sẽ được sắp xếp. Nếu bạn nhập giá trị 2, thì dữ liệu sẽ được sắp xếp theo cả empno và ename.
- Chọn khác biệt – Bạn chỉ có thể truy xuất các bản ghi riêng biệt từ nguồn bằng thuộc tính này. Khi bạn chọn tùy chọn Chọn Riêng biệt, Dịch vụ Tích hợp sẽ thêm câu lệnh SELECT DISTINCT, do đó chỉ các tổ hợp dữ liệu nguồn riêng biệt mới được Trình lọc Nguồn truy xuất.
Tab Thuộc tính hiển thị bên dưới chứa các tùy chọn này cùng với phần còn lại của danh sách thuộc tính.
Danh sách đầy đủ các thuộc tính có sẵn trên một Source Qualifier quan hệ được tóm tắt trong bảng dưới đây.
| Bất động sản | Những gì nó |
|---|---|
| Truy vấn SQL | Thay thế truy vấn mặc định do Dịch vụ Tích hợp tạo ra. Truy vấn tùy chỉnh sẽ ghi đè lên phép nối do người dùng định nghĩa và bộ lọc nguồn. |
| Kết nối do người dùng định nghĩa | Cung cấp điều kiện được sử dụng để kết hợp dữ liệu từ nhiều nguồn được biểu thị bằng cùng một Bộ định danh nguồn. |
| Bộ lọc nguồn | Cung cấp điều kiện lọc mà Dịch vụ Tích hợp áp dụng khi truy vấn các hàng. |
| Số lượng cổng được sắp xếp | Số lượng cột được sử dụng để sắp xếp các hàng được đọc từ nguồn dữ liệu quan hệ, được thêm vào truy vấn dưới dạng ORDER BY. |
| Traccấp độ ing | Mức độ chi tiết được ghi vào nhật ký phiên cho quá trình chuyển đổi này. |
| Chọn khác biệt | Chỉ trả về các hàng duy nhất bằng cách thêm SELECT DISTINCT vào truy vấn. |
| Trước SQL | Các lệnh được thực thi trên cơ sở dữ liệu nguồn trước khi Dịch vụ Tích hợp đọc nguồn. |
| Post-SQL | Các lệnh được thực thi trên cơ sở dữ liệu nguồn sau khi Dịch vụ Tích hợp ghi dữ liệu vào cơ sở dữ liệu đích. |
| Kết quả đầu ra mang tính xác định. | Khai báo rằng nguồn trả về cùng một dữ liệu giữa các lần chạy khi dữ liệu đầu vào nhất quán. |
| Kết quả đầu ra có thể lặp lại | Khai báo rằng nguồn dữ liệu trả về các hàng theo cùng một thứ tự giữa các lần chạy, cho phép Dịch vụ Tích hợp bỏ qua giai đoạn chuẩn bị để phục hồi. |
Các quy tắc và hướng dẫn về việc ghi đè câu lệnh SQL của bộ lọc nguồn.
Chức năng ghi đè SQL rất mạnh mẽ vì nó thay thế mọi thứ mà Trình thiết kế đã tạo ra, và đó cũng là lý do tại sao nó hoạt động âm thầm khi các quy tắc bên dưới bị bỏ qua.
- Trước tiên hãy kết nối các cổng. Hãy liên kết tất cả các cổng đầu vào và đầu ra mà bạn dự định sử dụng trước khi nhập truy vấn, vì truy vấn được tạo ra dựa trên các cổng đã được kết nối.
- Giữ danh sách SELECT theo thứ tự cổng. Câu lệnh SELECT phải liệt kê tên các cổng theo đúng thứ tự chúng xuất hiện trong quá trình chuyển đổi. Nếu thứ tự không khớp, phiên làm việc có thể thất bại hoặc trả về kết quả không mong muốn.
- Xác định rõ ràng từng cột. Mỗi tên cột phải được đặt tiền tố bằng tên bảng, view hoặc từ đồng nghĩa mà nó thuộc về, ví dụ: ORDERS.ORDER_ID.
- Tạo file trước khi chỉnh sửa. Nhấp vào "Tạo SQL" sẽ hiển thị truy vấn mặc định, vốn đã chứa bộ lọc nguồn và mệnh đề "cổng đã sắp xếp", do đó có thể xây dựng câu lệnh ghi đè từ một câu lệnh đang hoạt động.
- Xác nhận tính chính xác của tuyên bố. Trình soạn thảo SQL có nút "Xác thực" (Validate) cho phép chạy truy vấn và báo cáo xem cú pháp có chính xác hay không trước khi phiên làm việc bắt đầu.
- Trích dẫn các từ ngữ có bản quyền. Bất kỳ từ khóa dành riêng nào của cơ sở dữ liệu được sử dụng trong truy vấn đều phải được đặt trong dấu ngoặc kép.
- Hãy xem xét các tiền lệ. Một truy vấn tùy chỉnh sẽ ghi đè lên bộ lọc nguồn và số lượng cổng được sắp xếp, và một truy vấn SQL được nhập vào trong Phiên Thuộc tính này ghi đè cả điều kiện lọc và truy vấn được định nghĩa trong bản đồ.ping.
Trong cáp Microsoft SQL Server Theo nguồn tin, có thêm một quy tắc nữa: số lượng cột trong câu lệnh SELECT phải khớp với số lượng cổng trong quá trình chuyển đổi, nếu không phiên làm việc sẽ thất bại trong khi truy xuất các hàng.
Cách kết hợp hai nguồn thông tin bằng một công cụ sàng lọc nguồn duy nhất
Một Source Qualifier duy nhất có thể đọc nhiều hơn một bảng. Khi hai bảng liên quan từ cùng một nguồn dữ liệu quan hệ được liên kết với một Source Qualifier, Dịch vụ Tích hợp sẽ kết hợp chúng bên trong truy vấn nguồn thay vì bên trong bản đồ.pingĐiều này có nghĩa là cơ sở dữ liệu sẽ thực hiện công việc và số lượng hàng dữ liệu được truyền đến phiên sẽ ít hơn.
Phép nối mặc định là phép nối bằng bên trong được viết trong mệnh đề WHERE dưới dạng Source1.column_name = Source2.column_name. Để phép nối đó được tạo ra, các cột được nối phải có mối quan hệ khóa chính-khóa ngoại và kiểu dữ liệu khớp nhau. Nếu siêu dữ liệu được nhập không có mối quan hệ như vậy, bạn có thể tạo một mối quan hệ trong hàm. Trình phân tích nguồn bằng cách liên kết các cột trùng khớp của hai định nghĩa nguồn.
Khi mối quan hệ bị thiếu hoặc phép nối phải là phép nối ngoài, hãy sử dụng thuộc tính Nối do người dùng định nghĩa thay thế. Điều kiện được nhập ở đó sẽ thay thế thông tin nối được lưu trữ trong siêu dữ liệu và Dịch vụ Tích hợp sẽ thêm nó vào truy vấn được tạo ra.
Có hai giới hạn cần nhớ. Cả hai bảng phải đến từ cùng một nguồn dữ liệu quan hệ, và các nguồn dữ liệu khác nhau – một tập tin phẳng và một bảng, hoặc hai cơ sở dữ liệu khác nhau – phải được kết hợp bằng cách sử dụng phương thức sau: Chuyển đổi thợ mộc thay thế.
So sánh bộ lọc nguồn và bộ kết nối (Joiner Transformation)
Ba đối tượng đều có thể giảm hoặc kết hợp các hàng, và việc chọn sai đối tượng là nguyên nhân phổ biến gây ra hiện tượng làm việc chậm. Bảng dưới đây liệt kê chúng cạnh nhau.
| Yếu tố | Vòng loại nguồn | Biến đổi bộ lọc | Chuyển đổi thợ mộc |
|---|---|---|---|
| Nơi công việc diễn ra | Trong cơ sở dữ liệu nguồn, bên trong truy vấn được tạo ra | Trong Dịch vụ Tích hợp, từng hàng một | Trong Dịch vụ Tích hợp, sử dụng bộ nhớ đệm |
| Mục đích chính | Đọc các hàng dữ liệu nguồn, ghi đè truy vấn, lọc, sắp xếp, loại bỏ trùng lặp. | Loại bỏ các hàng không đáp ứng một trong các điều kiện. | Kết hợp hai đường ống thành một tập hợp hàng. |
| Các loại nguồn | Bảng quan hệ và tập tin phẳng từ một nguồn dữ liệu duy nhất. | Bất kỳ dữ liệu đường ống nào | Nguồn dữ liệu không đồng nhất, bao gồm các tập tin phẳng và các cơ sở dữ liệu khác nhau. |
| Tham gia hỗ trợ | Phép nối bằng bên trong hoặc phép nối do người dùng định nghĩa trong cùng một nguồn quan hệ. | Không áp dụng | Các kiểu nối thông thường, nối ngoài chính, nối ngoài chi tiết và nối ngoài toàn phần. |
| Các hàng cắt ngang mạng lưới | Chỉ những hàng mà truy vấn trả về | Mỗi dòng dữ liệu nguồn được đọc trước tiên. | Mỗi dòng dữ liệu nguồn được đọc trước tiên. |
Nguyên tắc thực tế rất đơn giản: lọc và kết hợp càng sớm càng tốt khi nguồn dữ liệu cho phép, và hướng tới một giải pháp tối ưu. Lọc hoặc chỉ sử dụng Joiner cho những công việc mà cơ sở dữ liệu nguồn không thể thực hiện. Việc đưa các điều kiện vào Source Qualifier là một trong những cách tiết kiệm chi phí nhất để đạt được thành công. điều chỉnh hiệu suất.








