Trình tự Generator Chuyển đổi trong Informatica

⚡ Tóm tắt thông minh

Trình tự Generator Trong Informatica, phép biến đổi là một đối tượng thụ động, được kết nối, tạo ra các chuỗi số cho các cột khóa chính và khóa thay thế, cung cấp giá trị cho mỗi hàng thông qua hai cổng đầu ra cố định có tên là NEXTVAL và CURRVAL.

  • 🔢 Hai cổng cố định: NEXTVAL chứa các số được tạo ra, và CURRVAL trả về NEXTVAL cộng với giá trị Tăng thêm.
  • ⚙️ Bốn đặc tính cốt lõi: Giá trị bắt đầu, bước tăng, giá trị kết thúc và chu kỳ quyết định hình dạng của mỗi chuỗi được tạo ra.
  • 🧪 Ví dụ thực tế: Bản đồ số támping Các bước thiết kế tải các số được tạo vào cột SNO của mục tiêu EMP_SEQUENCE.
  • ♻️ Tùy chọn có thể tái sử dụng: Một chuỗi có thể tái sử dụng Generator được chia sẻ bởi một số bản đồpings và lưu trữ 1,000 giá trị theo mặc định.
  • 🔒 Các cổng được cố định: Không thể thêm, chỉnh sửa hoặc xóa cổng, vì vậy mọi thao tác đều được điều khiển từ tab Thuộc tính.
  • 🗝️ Khóa thay thế: Bảng chiều dữ liệu kho sử dụng khóa được tạo tự động thay vì khóa tự nhiên từ hệ thống nguồn.

Trình tự Generator Chuyển đổi trong Informatica

Trình tự là gì Generator Chuyển đổi?

Trình tự Generator Quá trình biến đổi này là thụ động, do đó nó không ảnh hưởng đến số lượng hàng đầu vào. Chuỗi Generator Nó được sử dụng để tạo ra các giá trị khóa chính, và nó cũng được sử dụng để tạo ra các giá trị chuỗi số như 1, 2, 3, 4, 5, v.v.

Ví dụ, nếu bạn muốn gán giá trị thứ tự cho các bản ghi nguồn, thì bạn có thể sử dụng Sequence. GeneratorCác giá trị chuỗi được tạo ra có thể là 5, 10, 15, 20, 25, v.v. hoặc 10, 20, 30, 40, 50, v.v., tùy thuộc vào các thuộc tính được cấu hình của phép biến đổi.

Không giống như hầu hết các phép biến đổi khác, phép biến đổi này hoàn toàn không có cổng đầu vào. Nó không đọc các hàng đến, mà chỉ đơn giản là chuyển số tiếp theo đến cổng được liên kết, đó là lý do tại sao bạn có thể đặt nó bên cạnh bất kỳ đường ống nào trong một quy trình. bản đồping.

Các cổng theo trình tự Generator Chuyển đổi

Trình tự Generator có hai cổng đầu ra

  • CUỘC HÒA
  • TIẾP THEO

Giá trị cổng CURRVAL luôn bằng NEXTVAL cộng với giá trị Increment By, vì vậy nó chỉ hiển thị là NEXTVAL+1 khi Increment By được giữ nguyên ở giá trị mặc định là 1.

Để tạo số thứ tự, chúng ta luôn sử dụng cột NEXTVAL. Bảng dưới đây tóm tắt cách hoạt động của hai cổng.

Hải cảng Nó trả lại cái gì? Khi nào nên kết nối
TIẾP THEO Số tiếp theo trong dãy cho mỗi hàng đi qua đường ống. Hầu như luôn luôn là vậy. Đây là cổng cung cấp dữ liệu cho một cột khóa trong thiết bị đích.
CUỘC HÒA NEXTVAL cộng với giá trị Tăng thêm. Chỉ khi kết hợp với NEXTVAL. Khi được kết nối độc lập, nó truyền cùng một giá trị không đổi cho mọi hàng.

Không thể đổi tên hoặc xóa bất kỳ cổng nào, và cũng không thể thêm cổng thứ ba, vì vậy mọi thay đổi đối với các số được tạo ra đều được thực hiện trên tab Thuộc tính chứ không phải trên các cổng.

Thuộc tính của chuỗi Generator Chuyển đổi

  • Giá trị bắt đầu – Đây là giá trị đầu tiên sẽ được tạo bởi phép chuyển đổi, giá trị mặc định là 0.
  • Tăng theo – Đây là số mà bạn muốn tăng các giá trị. Giá trị mặc định là 1.
  • Giá trị cuối – Đó là giá trị tối đa mà phép chuyển đổi sẽ tạo ra.
  • Chu kỳ - nếu tùy chọn này được đặt thì sau khi đạt đến cuối giá trị, quá trình chuyển đổi sẽ khởi động lại từ giá trị bắt đầu.

Ba thiết lập khác sẽ xuất hiện trên cùng một tab và có hiệu lực ngay khi quá trình chuyển đổi được chia sẻ hoặc phiên làm việc được chạy lại.

Bất động sản Những gì nó kiểm soát Mặc định
Giá trị hiện tại Giá trị mà phiên chạy tiếp theo sẽ bắt đầu từ đó. Dịch vụ tích hợp sẽ cập nhật giá trị này trong kho lưu trữ khi các hàng được tạo ra. 1
Số lượng giá trị được lưu trong bộ nhớ cache Có bao nhiêu giá trị được dành riêng trong bộ nhớ cùng một lúc để các phiên đồng thời không bao giờ cấp phát cùng một số lượng giá trị hai lần? 0 cho loại không thể tái sử dụng, 1000 cho loại có thể tái sử dụng
Xóa và làm lại Bắt đầu mỗi phiên từ giá trị hiện tại ban đầu thay vì tiếp tục. Chức năng này không khả dụng trên chuỗi có thể tái sử dụng. Generators. Bị vô hiệu hóa
Traccấp độ ing Mức độ chi tiết được ghi vào nhật ký phiên: Ngắn gọn, Bình thường, Khởi tạo chi tiết hoặc Dữ liệu chi tiết. bình thường

Cách sử dụng chuỗi Generator Chuyển đổi trong Informatica

Trong ví dụ này, chúng ta sẽ tạo ra các số thứ tự và lưu trữ chúng trong đích đến. Hãy thực hiện tám bước dưới đây trong Sơ đồ.ping Nhà thiết kế.

Bước 1) Tạo một bảng mục tiêu bằng đoạn mã sau.

Tải xuống tệp emp_sequence.sql ở trên

Bước 2) Nhập bảng vào Informatica dưới dạng bảng đích.

Bước 3) Tạo một bản đồ mớiping và nhập bảng nguồn EMP và bảng đích EMP_SEQUENCE. Cả hai định nghĩa hiện đều nằm trên khung vẽ, như hình bên dưới.

Bản đồping Trình thiết kế với nguồn EMP và định nghĩa mục tiêu EMP_SEQUENCE đã được nhập.

Bước 4) Tạo một phép biến đổi mới trên bản đồping

  1. Chọn chuyển đổi trình tự làm loại
  2. Nhập tên chuyển đổi “seq_emp”
  3. Chọn tùy chọn Tạo

Tạo cửa sổ Chuyển đổi với Trình tự Generator đã chọn và tên seq_emp đã được nhập

Bước 5) Trình tự Generator Quá trình chuyển đổi sẽ được tạo, hãy chọn tùy chọn "Xong". Đối tượng seq_emp giờ đây xuất hiện trên khung vẽ với hai cổng của nó.

Trình tự Generator Biến đổi seq_emp được tạo trên bản đồping vải

Bước 6) Liên kết cột NEXTVAL của Sequence Generator đến cột SNO trong mục tiêu.

Cổng NEXTVAL của seq_emp được liên kết với cột SNO của mục tiêu EMP_SEQUENCE

Bước 7) Liên kết các cột khác từ tiêu chí nguồn chuyển đổi sang bảng đích.

Các cột Source Qualifier còn lại được liên kết với bảng đích EMP_SEQUENCE.

Bước 8) Double Nhấp chuột vào Chuỗi Generator để mở cửa sổ thuộc tính, và sau đó

  1. Chọn tab thuộc tính
  2. Nhập các thuộc tính có giá trị Bắt đầu =1, các thuộc tính còn lại để mặc định
  3. Chọn nút OK

Tab Thuộc tính của Trình tự Generator phép biến đổi với giá trị bắt đầu được đặt là 1

Bây giờ hãy lưu bản đồ lại.ping và thực thi nó sau khi tạo xong. Phiênquy trình làm việc.

Cột sno trong mục tiêu sẽ chứa các số thứ tự được tạo ra bởi Trình tự. Generator chuyển đổi.

Trong ví dụ của chúng ta, chuỗi số sẽ như sau: 1 – Scott, 2 – King, 3 – Adam, 4 – Miller, v.v.

Trình tự có thể tái sử dụng và không thể tái sử dụng Generators

Sự chuyển đổi được xây dựng ở trên nằm gọn trong một bản đồ.pingViệc tạo nó trong Transformation Developer giúp nó có thể tái sử dụng, và hai cách này hoạt động khác nhau khi có nhiều hơn một phiên làm việc tham gia.

Điểm so sánh Không thể tái sử dụng Tái sử dụng
Nơi nó được tạo ra Bên trong một bản đồ duy nhấtping, trong Bản đồping nhà thiết kế Trong Trình phát triển Chuyển đổi, sau đó được thêm vào bất kỳ số lượng bản đồ nào.pings
Số lượng giá trị được lưu trong bộ nhớ cache Mặc định là 0, do đó các giá trị không được dành riêng trước. Mặc định là 1000, vì vậy mỗi phiên sẽ dành riêng một khối số.
Đặt lại thuộc tính Có sẵn và khởi động lại chuỗi từ giá trị hiện tại ban đầu. Không khả dụng, vì việc khởi động lại sẽ cấp phát các số đã được sử dụng trong phiên khác.
Sử dụng điển hình Một cột khóa mục tiêu trong một bản đồping Khóa thay thế được chia sẻ trên nhiều bản đồpingtải cùng kích thước

Bộ nhớ đệm là thứ giúp phân tách các phiên đồng thời. Mỗi phiên sẽ nhận trước một khối số, điều này có nghĩa là các số này vẫn duy nhất nhưng không liên tục: bất kỳ giá trị nào không được sử dụng khi một phiên kết thúc sẽ bị loại bỏ, và khối số tiếp theo sẽ bắt đầu sau chúng.

Các quy tắc và giới hạn của trình tự Generator Chuyển đổi

Một số trong số này chỉ xuất hiện sau khi xem bản đồ.ping đã chạy thử, vì vậy việc biết trước khi kết nối các cổng sẽ tiết kiệm chi phí hơn.

  • Các cổng đã được cố định. NEXTVAL và CURRVAL không thể chỉnh sửa hoặc xóa, và không thể thêm bất kỳ cổng nào khác vào quá trình chuyển đổi.
  • Bản thân hàm CURRVAL trả về một hằng số. Chỉ kết nối CURRVAL khi NEXTVAL cũng được kết nối ở phía hạ lưu, nếu không mỗi hàng sẽ nhận được cùng một giá trị.
  • Hai mục tiêu được nạp lần lượt. Khi NEXTVAL cung cấp dữ liệu cho hai bảng đích, bảng đích đầu tiên sẽ được nạp số liệu trước khi bảng đích thứ hai bắt đầu, do đó hai tập dữ liệu không xen kẽ nhau.
  • Khoảng trống là điều bình thường. Các giá trị được lưu trong bộ nhớ cache mà phiên không sử dụng sẽ không bao giờ được trả về, vì vậy một phiên bị lỗi hoặc ngắn sẽ để lại các khoảng trống trong chuỗi. Hãy thiết kế cột khóa sao cho có thể chịu được các khoảng trống này.
  • Chức năng chu trình có thể tạo ra các bản sao. Khi đạt đến giá trị cuối cùng với chức năng Chu kỳ được bật, việc đánh số sẽ bắt đầu lại từ giá trị ban đầu, điều này sẽ gây xung đột với các khóa hiện có trừ khi mục tiêu cho phép.

Vì nó không bao giờ đọc bất kỳ hàng nào, quá trình chuyển đổi hầu như không làm tăng thời gian chạy của phiên, đó là lý do tại sao nó hiếm khi xuất hiện như một điểm nghẽn trong quá trình xử lý. điều chỉnh hiệu suấtTrong trường hợp khóa phải phụ thuộc vào chính dữ liệu chứ không phải vào bộ đếm, thì... Bộ tổng hợp or Chuyển đổi thợ mộc Chính đối tượng kia mới là người thực hiện công việc đó, chứ không phải đối tượng này.

Câu Hỏi Thường Gặp

Khóa thay thế là một dãy số vô nghĩa dùng để xác định một dòng trong kho dữ liệu thay vì mã định danh của hệ thống nguồn. Nó vẫn ổn định khi hệ thống nguồn thay đổi mã của nó, và việc tạo ra một chuỗi số được tạo tự động là cách đơn giản nhất.

Vì vậy, số thứ tự nằm trong bản đồ.ping Thay vì chỉ lưu trữ trong một cơ sở dữ liệu duy nhất. Các tập tin phẳng và các mục tiêu phi quan hệ khác đều nhận khóa theo cùng một cách, và cùng một đối tượng có thể tái sử dụng có thể đánh số nhiều mục tiêu mà không cần một đối tượng cơ sở dữ liệu cho mỗi bảng.

Giá trị cuối cùng chấp nhận tối đa 9,223,372,036,854,775,807, là số nguyên 64 bit có dấu lớn nhất. Khi đạt đến giá trị này, phiên sẽ dừng lại với lỗi tràn số trừ khi chức năng Chu kỳ được bật, trong trường hợp đó việc đánh số sẽ bắt đầu lại từ giá trị ban đầu.

Đúng vậy. NEXTVAL kết nối với bất kỳ phép biến đổi nào ở phía sau, thường là một Biểu thức tạo ra khóa tổng hợp hoặc một Tra cứu kiểm tra xem khóa đã tồn tại hay chưa. Số được tạo ra sau đó sẽ được truyền tiếp cùng với hàng.

Đúng vậy, nhưng hãy kiểm tra mục tiêu trước. Việc chỉnh sửa Giá trị Bắt đầu hoặc Giá trị Hiện tại trên cột khóa đang hoạt động có thể gán các số mà mục tiêu đã có, vì vậy hãy tăng giá trị lên trên khóa cao nhất thay vì giảm nó xuống.

Hầu như không. Nó không đọc bất kỳ hàng nào và không tạo tệp bộ nhớ đệm, vì vậy chi phí của nó là cập nhật bộ đếm cho mỗi hàng. Tải trọng lớn bị giới hạn bởi trình đọc và trình ghi rất lâu trước khi việc đánh số trở thành vấn đề.

Các công cụ phân tích AI quét các cột nguồn để đề xuất sự kết hợp nào thực sự độc nhất, gắn cờ các khóa ứng cử viên có giá trị null hoặc trùng lặp, và phát hiện sự thay đổi giữa các lần tải. Việc đối sánh dựa trên học máy cũng liên kết các bản ghi mô tả cùng một thực thể dưới các định danh khác nhau.

Copilot viết nội dung tương đương SQL Định nghĩa trình tự hoặc định danh và các truy vấn đối chiếu chứng minh không có khóa nào bị trùng lặp. Nó không thể thấy các giá trị trong kho lưu trữ của bạn, vì vậy hãy xác minh giá trị hiện tại trong chính quá trình chuyển đổi trước khi tải.

Tóm tắt bài viết này với: