Search for answers or browse our knowledge base.
Các chủ đề nâng cao với cấu hình của SAP CDC
Chủ đề nâng cao về SAP CDC
Áp dụng cho: Azure Data Factory, Azure Synapse Analytics
Tip
Hãy thử Azure Data Factory trong Microsoft Fabric, một giải pháp phân tích toàn diện cho doanh nghiệp. Microsoft Fabric bao gồm mọi thứ từ di chuyển dữ liệu (data movement) đến khoa học dữ liệu (data science), phân tích thời gian thực (real-time analytics), trí tuệ kinh doanh (business intelligence) và báo cáo (reporting). Tìm hiểu cách bắt đầu dùng thử miễn phí!
Tìm hiểu về các chủ đề nâng cao cho bộ kết nối SAP CDC như tích hợp dữ liệu dựa trên siêu dữ liệu (metadata driven data integration), debug, và nhiều hơn nữa.
Tham số hóa luồng dữ liệu ánh xạ SAP CDC
Một trong những điểm mạnh chính của đường ống (pipelines) và luồng dữ liệu ánh xạ (mapping data flows) trong Azure Data Factory và Azure Synapse Analytics là hỗ trợ tích hợp dữ liệu dựa trên siêu dữ liệu (metadata driven data integration). Với tính năng này, có thể thiết kế một (hoặc vài) đường ống tham số hóa duy nhất để xử lý tích hợp của hàng trăm hoặc thậm chí hàng nghìn nguồn dữ liệu. Bộ kết nối SAP CDC được thiết kế với nguyên tắc này: tất cả các thuộc tính liên quan, như đối tượng nguồn (source object), chế độ chạy (run mode), cột khóa (key columns), v.v., có thể được cung cấp thông qua các tham số để tối đa hóa tính linh hoạt và khả năng tái sử dụng của luồng dữ liệu ánh xạ SAP CDC.
Để hiểu các khái niệm cơ bản về tham số hóa luồng dữ liệu ánh xạ, xem Parameterizing mapping data flows.
Trong thư viện mẫu (template gallery) của Azure Data Factory và Azure Synapse Analytics, bạn sẽ tìm thấy một đường ống mẫu và luồng dữ liệu thể hiện cách tham số hóa việc nhập dữ liệu SAP CDC.
Tham số hóa nguồn và chế độ chạy
Luồng dữ liệu ánh xạ không nhất thiết yêu cầu một đối tượng tập dữ liệu (Dataset artifact): cả chuyển đổi nguồn (source transformation) và chuyển đổi đích (sink transformation) đều cung cấp loại nguồn (Source type) hoặc loại đích (Sink type) là Nội tuyến (Inline). Trong trường hợp này, tất cả các thuộc tính nguồn thường được định nghĩa trong tập dữ liệu ADF có thể được cấu hình trong Tùy chọn nguồn (Source options) của chuyển đổi nguồn (hoặc tab Cài đặt – Settings của chuyển đổi đích). Sử dụng tập dữ liệu nội tuyến cung cấp cái nhìn tổng quan tốt hơn và đơn giản hóa việc tham số hóa luồng dữ liệu ánh xạ vì toàn bộ cấu hình nguồn (hoặc đích) được duy trì ở một nơi.
Đối với SAP CDC, các thuộc tính thường được đặt thông qua tham số nằm trong các tab Tùy chọn nguồn (Source options) và Tối ưu hóa (Optimize). Khi Loại nguồn (Source type) là Nội tuyến (Inline), các thuộc tính sau có thể được tham số hóa trong Tùy chọn nguồn:
- Bối cảnh ODP (ODP context): Các giá trị tham số hợp lệ bao gồm:
ABAP_CDS
cho Các Chế độ Dữ liệu Cốt lõi ABAP (ABAP Core Data Services Views)BW
cho SAP BW hoặc Nhà cung cấp Thông tin SAP BW/HANA (SAP BW/HANA InfoProviders)HANA
cho Các Chế độ Thông tin SAP HANA (SAP HANA Information Views)SAPI
cho Nguồn Dữ liệu/Trích xuất SAP (SAP DataSources/Extractors)- Khi sử dụng Máy chủ Sao chép Biến đổi Cảnh quan SAP (SAP Landscape Transformation Replication Server – SLT) làm nguồn, tên bối cảnh ODP là
SLT
. Giá trị Bí danh Hàng đợi (Queue Alias) có thể được tìm thấy trong Dữ liệu Quản trị (Administration Data) trong cấu hình SLT trong buồng lái SLT (SAP, giao dịch LTRC). ODP_SELF
vàRANDOM
là các bối cảnh ODP được sử dụng cho xác nhận kỹ thuật và kiểm tra, và thường không liên quan.
- Tên ODP (ODP name): Cung cấp tên ODP mà bạn muốn trích xuất dữ liệu từ đó.
- Chế độ chạy (Run mode): Các giá trị tham số hợp lệ bao gồm:
fullAndIncrementalLoad
cho Tải toàn bộ lần đầu (Full on the first run), sau đó là tăng dần (incremental), khởi tạo quy trình bắt giữ thay đổi dữ liệu (change data capture process) và trích xuất ảnh chụp dữ liệu toàn bộ hiện tại.fullLoad
cho Tải toàn bộ mỗi lần chạy (Full on every run), trích xuất ảnh chụp dữ liệu toàn bộ hiện tại mà không khởi tạo quy trình bắt giữ thay đổi dữ liệu.incrementalLoad
cho Chỉ thay đổi tăng dần (Incremental changes only), khởi tạo quy trình bắt giữ thay đổi dữ liệu mà không trích xuất ảnh chụp dữ liệu toàn bộ hiện tại.
- Cột khóa (Key columns): Các cột khóa được cung cấp dưới dạng một mảng các chuỗi (được bao quanh bởi dấu ngoặc kép). Ví dụ, khi làm việc với bảng SAP VBAP (các mục đơn hàng bán hàng – sales order items), định nghĩa khóa sẽ là
["VBELN", "POSNR"]
(hoặc["MANDT", "VBELN", "POSNR"]
trong trường hợp trường khách hàng – client field cũng được tính đến).
Tham số hóa điều kiệm lọc cho phân vùng nguồn
Trong tab Tối ưu hóa (Optimize), một lược đồ phân vùng nguồn (source partitioning scheme) (xem optimizing performance for full or initial loads) có thể được định nghĩa thông qua các tham số. Thông thường, cần hai bước:
- Định nghĩa lược đồ phân vùng nguồn (source partitioning scheme).
- Nhập tham số phân vùng vào luồng dữ liệumie ánh xạ.
Định nghĩa lược đồ phân vùng nguồn
Định dạng ở bước 1 tuân theo chuẩn JSON, bao gồm một mảng các định nghĩa phân vùng, mỗi định nghĩa là một mảng các điều kiện lọc riêng lẻ. Các điều kiện này là các đối tượng JSON có cấu trúc phù hợp với các tùy chọn lựa chọn (selection options) trong SAP. Trên thực tế, định dạng yêu cầu bởi khung công tác SAP ODP (Operational Data Provisioning) cơ bản giống với các bộ lọc DTP động (dynamic DTP filters) trong SAP BW:
{
"fieldName": "<>",
"sign": "<>",
"option": "<>",
"low": "<>",
"high": "<>"
}
Ví dụ:
{
"fieldName": "VBELN",
"sign": "I",
"option": "EQ",
"low": "0000001000"
}
tương ứng với mệnh đề SQL WHERE: WHERE "VBELN" = '0000001000'
, hoặc
{
"fieldName": "VBELN",
"sign": "I",
"option": "BT",
"low": "0000000000",
"high": "0000001000"
}
tương ứng với mệnh đề SQL WHERE: WHERE "VBELN" BETWEEN '0000000000' AND '0000001000'
.
Một định nghĩa JSON của lược đồ phân vùng chứa hai phân vùng sẽ trông như sau:
[
{
"fieldName": "GJAHR",
"sign": "I",
"option": "BT",
"low": "2011",
"high": "2015"
},
{
"fieldName": "GJAHR",
"sign": "I",
"option": "BT",
"low": "2016",
"high": "2020"
}
]
nơi phân vùng đầu tiên chứa các năm tài chính (GJAHR) từ 2011 đến 2015, và phân vùng thứ hai chứa các năm tài chính từ 2016 đến 2020.
Lưu ý: Azure Data Factory không thực hiện bất kỳ kiểm tra nào đối với các điều kiện này. Ví dụ, người dùng chịu trách nhiệm đảm bảo rằng các điều kiện phân vùng không chồng lấn.
Các điều kiện phân vùng có thể phức tạp hơn, bao gồm nhiều điều kiện lọc cơ bản. Không có các liên từ logic (logical conjunctions) nào xác định rõ ràng cách kết hợp nhiều điều kiện cơ bản trong một phân vùng. Định nghĩa ngầm trong SAP như sau:
- Các điều kiện bao gồm (“sign”: “I”) cho cùng tên trường được kết hợp bằng OR (tưởng tượng, đặt dấu ngoặc quanh điều kiện kết quả).
- Các điều kiện loại trừ (“sign”: “E”) cho cùng tên trường được kết hợp bằng OR (tương tự, đặt dấu ngoặc quanh điều kiện kết quả).
- Các điều kiện kết quả của bước 1 và 2 được:
- Kết hợp bằng AND cho các điều kiện bao gồm.
- Kết hợp bằng AND NOT cho các điều kiện loại trừ.
Ví dụ, điều kiện phân vùng:
[
{ "fieldName": "BUKRS", "sign": "I", "option": "EQ", "low": "1000" },
{ "fieldName": "BUKRS", "sign": "I", "option": "EQ", "low": "1010" },
{ "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2010", "high": "2025" },
{ "fieldName": "GJAHR", "sign": "E", "option": "EQ", "low": "2023" },
{ "fieldName": "GJAHR", "sign": "E", "option": "EQ", "low": "2021" }
]
tương ứng với mệnh đề SQL WHERE: WHERE (BUKRS = '1000' OR BUKRS = '1010') AND GJAHR = '2023' AND GJAHR != '2021'
.
Nhập tham số phân vùng vào luồng dữ liệu ánh xạ
Để nhập lược đồ phân vùng vào luồng dữ liệu ánh xạ, hãy tạo một tham số luồng dữ liệu (ví dụ: sapPartitions
). Để truyền định dạng JSON cho tham số này, nó cần được chuyển đổi thành chuỗi bằng hàm @string()
.

Cuối cùng, trong tab Tối ưu hóa (Optimize) của chuyển đổi nguồn trong luồng dữ liệu ánh xạ của bạn, hãy chọn Loại phân vùng (Partition type) là “Nguồn” (Source), và nhập tham số luồng dữ liệu vào thuộc tính Điều kiện phân vùng (Partition conditions).

Tham số hóa khóa kiểm tra
Khi sử dụng luồng dữ liệu tham số hóa để trích xuất dữ liệu từ nhiều nguồn SAP CDC, việc tham số hóa Khóa kiểm tra (Checkpoint Key) trong hoạt động luồng dữ liệu của đường ống của bạn là rất quan trọng. Khóa kiểm tra được Azure Data Factory sử dụng để quản lý trạng thái của quy trình bắt giữ thay đổi dữ liệu (change data capture process). Để tránh trạng thái của một quy trình CDC ghi đè lên trạng thái của quy trình khác, hãy đảm bảo rằng các giá trị khóa kiểm tra là duy nhất cho mỗi tập hợp tham số được sử dụng trong luồng dữ liệu.
Lưu ý: Một phương pháp hay để đảm bảo tính duy nhất của Khóa kiểm tra là thêm giá trị khóa kiểm tra vào tập hợp các tham số cho luồng dữ liệu của bạn.
Ghi chú
Một phương pháp hay để đảm bảo tính duy nhất của Khóa kiểm tra là thêm giá trị khóa kiểm tra vào tập hợp các tham số cho luồng dữ liệu của bạn.
Để biết thêm thông tin về khóa kiểm tra, xem Transform data with the SAP CDC connector.
Debug
Đường ống Azure Data Factory có thể được thực thi thông qua các lần chạy kích hoạt (trigger ed runs) hoặc chạy debug. Sự khác biệt cơ bản giữa hai tùy chọn này là các lần chạy debug thực thi luồng dữ liệu và đường ống dựa trên phiên bản hiện tại được mô hình hóa trong giao diện người dùng, trong khi các lần chạy kích hoạt thực thi phiên bản đã xuất bản cuối cùng của luồng dữ liệu và đường ống.
Đối với SAP CDC, có một khía cạnh nữa cần hiểu: để tránh ảnh hưởng của các lần chạy debug đến quy trình bắt giữ thay đổi dữ liệu hiện có, các lần chạy debug sử dụng giá trị “quy trình thuê bao” (subscriber process) khác (xem Monitor SAP CDC data flows) so với các lần chạy kích hoạt. Do đó, chúng tạo ra các đăng ký riêng biệt (tức là các quy trình bắt giữ thay đổi dữ liệu) trong hệ thống SAP. Ngoài ra, giá trị “quy trình thuê bao” cho các lần chạy debug có thời gian sống giới hạn trong phiên giao diện người dùng trình duyệt.
Lưu ý: Để kiểm tra tính ổn định của quy trình bắt giữ thay đổi dữ liệu với SAP CDC trong thời gian dài (ví dụ, nhiều ngày), luồng dữ liệu và đường ống cần được xuất bản, và các lần chạy kích hoạt cần được thực thi.
Ghi chú
Để kiểm tra tính ổn định của quy trình bắt giữ thay đổi dữ liệu với SAP CDC trong thời gian dài (ví dụ, nhiều ngày), luồng dữ liệu và đường ống cần được xuất bản, và các lần chạy kích hoạt cần được thực thi.
Hãy liên lạc với BSD 0918 339 689 để tìm hiểu thêm về giải pháp tích hợp dữ liệu của SAP và Microsoft Fabric, tìm phương án tiếp cận và triển khai giải pháp tích hợp dữ liệu cho môi trường của doanh nghiệp bạn. Tìm hiểu thêm về tài liệu này ở đây