How Can We Help?

Search for answers or browse our knowledge base.

Table of Contents
< All Topics
Print

Pipelines và hoạt động trong Azure Data Factory và Azure Synapse Analytics

Đường ống và hoạt động trong Azure Data Factory và Azure Synapse Analytics

Áp dụng cho: Azure Data FactoryAzure Synapse Analytics

Mẹo: 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í!

Quan trọng: Hỗ trợ cho Azure Machine Learning Studio (classic) sẽ kết thúc vào ngày 31 tháng 8 năm 2024. Chúng tôi khuyên bạn nên chuyển sang Azure Machine Learning trước ngày đó.

Kể từ ngày 1 tháng 12 năm 2021, bạn không thể tạo mới các tài nguyên Machine Learning Studio (classic) (không gian làm việc – workspace và kế hoạch dịch vụ web – web service plan). Đến ngày 31 tháng 8 năm 2024, bạn vẫn có thể tiếp tục sử dụng các thí nghiệm (experiments) và dịch vụ web (web services) hiện có của Machine Learning Studio (classic). Để biết thêm thông tin, xem:

Tài liệu của Machine Learning Studio (classic) đang được rút dần và có thể không được cập nhật trong tương lai.

Bài viết này giúp bạn hiểu về các đường ống (pipelines) và hoạt động (activities) trong Azure Data Factory và Azure Synapse Analytics, đồng thời sử dụng chúng để xây dựng các luồng công việc điều khiển dữ liệu đầu cuối (end-to-end data-driven workflows) cho các kịch bản di chuyển dữ liệu (data movement) và xử lý dữ liệu (data processing) của bạn.

Tổng quan

Một Nhà máy Dữ liệu (Data Factory) hoặc Không gian làm việc Synapse (Synapse Workspace) trong Azure Data Factory hoặc Azure Synapse Analytics có thể có một hoặc nhiều pipelines. Một pipeline là một nhóm logic của các hoạt động (activities) cùng thực hiện một nhiệm vụ. Ví dụ, một pipeline có thể chứa một tập hợp các hoạt động để nhập và làm sạch dữ liệu nhật ký (log data), sau đó khởi động một luồng dữ liệu ánh xạ (mapping data flow) để phân tích dữ liệu nhật ký. Pipeline cho phép bạn quản lý các hoạt động như một tập hợp thay vì từng hoạt động riêng lẻ. Bạn triển khai và lập lịch cho pipeline thay vì các hoạt động một cách độc lập.

Các hoạt động trong một pipeline định nghĩa các hành động sẽ thực hiện trên dữ liệu của bạn. Ví dụ, bạn có thể sử dụng một hoạt động sao chép (copy activity) để sao chép dữ liệu từ SQL Server sang Lưu trữ Blob Azure (Azure Blob Storage). Sau đó, sử dụng một hoạt động luồng dữ liệu (data flow activity) hoặc một hoạt động Sổ tay Databricks (Databricks Notebook activity) để xử lý và chuyển đổi dữ liệu từ lưu trữ blob sang một nhóm Azure Synapse Analytics, nơi các giải pháp báo cáo trí tuệ kinh doanh (business intelligence reporting solutions) được xây dựng.

Azure Data Factory và Azure Synapse Analytics có ba nhóm hoạt động: hoạt động di chuyển dữ liệu (data movement activities), hoạt động chuyển đổi dữ liệu (data transformation activities) và hoạt động điều khiển (control activities). Một hoạt động có thể nhận không hoặc nhiều tập dữ liệu đầu vào (input datasets) và tạo ra một hoặc nhiều tập dữ liệu đầu ra (output datasets). Sơ đồ sau cho thấy mối quan hệ giữa pipeline, hoạt động và tập dữ liệu:

Hình ảnh: Sơ đồ mối quan hệ giữa pipeline, hoạt động và tập dữ liệu

Một tập dữ liệu đầu vào (input dataset) đại diện cho đầu vào của một hoạt động trong pipeline, và một tập dữ liệu đầu ra (output dataset) đại diện cho đầu ra của hoạt động. Các tập dữ liệu xác định dữ liệu trong các kho dữ liệu khác nhau, chẳng hạn như bảng, tệp, thư mục và tài liệu. Sau khi bạn tạo một tập dữ liệu, bạn có thể sử dụng nó với các hoạt động trong một pipeline. Ví dụ, một tập dữ liệu có thể là tập dữ liệu đầu vào/đầu ra của một Hoạt động Sao chép (Copy Activity) hoặc một Hoạt động HDInsight-Hive. Để biết thêm thông tin về các tập dữ liệu, xem bài viết Datasets in Azure Data Factory.

Lưu ý: Có một giới hạn mềm mặc định là tối đa 80 hoạt động cho mỗi pipeline, bao gồm các hoạt động bên trong cho các bộ chứa (containers).

Hoạt động di chuyển dữ liệu

Hoạt động Sao chép (Copy Activity) trong Azure Data Factory sao chép dữ liệu từ một kho dữ liệu nguồn (source data store) sang một kho dữ liệu đích (sink data store). Azure Data Factory hỗ trợ các kho dữ liệu được liệt kê trong bảng trong phần này. Dữ liệu từ bất kỳ nguồn nào cũng có thể được ghi vào bất kỳ đích nào.

Để biết thêm thông tin, xem bài viết Copy Activity – Overview.

Chọn một kho dữ liệu để tìm hiểu cách sao chép dữ liệu đến và từ kho đó.

Danh mụcKho dữ liệuHỗ trợ làm nguồnHỗ trợ làm đíchHỗ trợ bởi Azure IRHỗ trợ bởi IR tự lưu trữ
AzureLưu trữ Blob Azure (Azure Blob Storage)
Chỉ mục Tìm kiếm AI Azure (Azure AI Search Index)
Azure Cosmos DB cho NoSQL
Azure Cosmos DB cho MongoDB
Azure Data Explorer
Lưu trữ Hồ Dữ liệu Azure Thế hệ 1 (Azure Data Lake Storage Gen1)
Lưu trữ Hồ Dữ liệu Azure Thế hệ 2 (Azure Data Lake Storage Gen2)
Cơ sở dữ liệu Azure cho MariaDB
Cơ sở dữ liệu Azure cho MySQL
Cơ sở dữ liệu Azure cho PostgreSQL
Hồ Delta Azure Databricks (Azure Databricks Delta Lake)
Tệp Azure (Azure Files)
Cơ sở dữ liệu Azure SQL (Azure SQL Database)
Phiên bản Quản lý Azure SQL (Azure SQL Managed Instance)
Azure Synapse Analytics
Lưu trữ Bảng Azure (Azure Table Storage)
Cơ sở dữ liệuAmazon RDS cho Oracle
Amazon RDS cho SQL Server
Amazon Redshift
DB2
Drill
Google BigQuery
Greenplum
HBase
Hive
Apache Impala
Informix
MariaDB
Microsoft Access
MySQL
Netezza
Oracle
Cơ sở dữ liệuPhoenix
PostgreSQL
Presto
Kho Dữ liệu Kinh doanh SAP qua Open Hub (SAP Business Warehouse via Open Hub)
Kho Dữ liệu Kinh doanh SAP qua MDX (SAP Business Warehouse via MDX)
SAP HANAĐích được hỗ trợ chỉ với Bộ kết nối ODBC và trình điều khiển ODBC SAP HANA
Bảng SAP (SAP Table)
Snowflake
Spark
SQL Server
Sybase
Teradata
Vertica
NoSQLCassandra
Couchbase (Xem trước)
MongoDB
MongoDB Atlas
TệpAmazon S3
Lưu trữ Tương thích Amazon S3 (Amazon S3 Compatible Storage)
Hệ thống tệp (File System)
FTP
Lưu trữ Đám mây Google (Google Cloud Storage)
HDFS
Lưu trữ Đám mây Oracle (Oracle Cloud Storage)
SFTP
Giao thức chungHTTP Chung (Generic HTTP)
OData Chung (Generic OData)
ODBC Chung (Generic ODBC)
REST Chung (Generic REST)
Dịch vụ và ứng dụngDịch vụ Web Thị trường Amazon (Amazon Marketplace Web Service) (Không còn hỗ trợ)
Concur (Xem trước)
Dataverse
Dynamics 365
Dynamics AX
Dynamics CRM
Google AdWords
HubSpot
Jira
Magento (Xem trước)
Marketo (Xem trước)
Microsoft 365
Oracle Eloqua (Xem trước)
Oracle Responsys (Xem trước)
Oracle Service Cloud (Xem trước)
PayPal (Xem trước)
QuickBooks (Xem trước)
Salesforce
Salesforce Service Cloud
Salesforce Marketing Cloud
SAP Cloud cho Khách hàng (SAP Cloud for Customer – C4C)
SAP ECC
ServiceNow
Danh sách SharePoint Online (SharePoint Online List)
Shopify (Xem trước)
Square (Xem trước)
Bảng web (Bảng HTML – Web Table)
Xero
Zoho (Xem trước)

Lưu ý: Nếu một bộ kết nối được đánh dấu là Xem trước (Preview), bạn có thể thử nghiệm và gửi phản hồi cho chúng tôi. Nếu bạn muốn sử dụng các bộ kết nối xem trước trong giải pháp của mình, hãy liên hệ với bộ phận hỗ trợ Azure.

Hoạt động chuyển đổi dữ liệu

Azure Data Factory và Azure Synapse Analytics hỗ trợ các hoạt động chuyển đổi sau đây, có thể được thêm vào riêng lẻ hoặc được liên kết với một hoạt động khác.

Để biết thêm thông tin, xem bài viết data transformation activities.

Hoạt động chuyển đổi dữ liệuMôi trường tính toán
Luồng dữ liệu (Data Flow)Cụm Apache Spark được quản lý bởi Azure Data Factory
Chức năng Azure (Azure Function)Chức năng Azure (Azure Functions)
HiveHDInsight [Hadoop]
PigHDInsight [Hadoop]
MapReduceHDInsight [Hadoop]
Hadoop StreamingHDInsight [Hadoop]
SparkHDInsight [Hadoop]
Hoạt động ML Studio (classic): Thực thi Hàng loạt và Cập nhật Tài nguyên (Batch Execution and Update Resource)Máy ảo Azure (Azure VM)
Thủ tục Lưu trữ (Stored Procedure)Azure SQL, Azure Synapse Analytics, hoặc SQL Server
U-SQLPhân tích Hồ Dữ liệu Azure (Azure Data Lake Analytics)
Hoạt động Tùy chỉnh (Custom Activity)Hàng loạt Azure (Azure Batch)
Sổ tay Databricks (Databricks Notebook)Azure Databricks
Hoạt động Jar Databricks (Databricks Jar Activity)Azure Databricks
Hoạt động Python Databricks (Databricks Python Activity)Azure Databricks
Hoạt động Sổ tay Synapse (Synapse Notebook Activity)Azure Synapse Analytics

Hoạt động điều khiển luồng

Các hoạt động điều khiển luồng sau đây được hỗ trợ:

Hoạt động điều khiểnMô tả
Thêm vào Biến (Append Variable)Thêm một giá trị vào một biến mảng hiện có.
Thực thi Pipeline (Execute Pipeline)Hoạt động Thực thi Pipeline (Execute Pipeline) cho phép một pipeline Azure Data Factory hoặc Azure Synapse Analytics gọi một pipeline khác.
Lọc (Filter)Áp dụng một biểu thức lọc vào một mảng đầu vào.
Cho Mỗi (For Each)Hoạt động Cho Mỗi (For Each Activity) định nghĩa một luồng điều khiển lặp lại trong pipeline của bạn. Hoạt động này được sử dụng để lặp qua một tập hợp và thực thi các hoạt động được chỉ định trong một vòng lặp. Việc triển khai vòng lặp của hoạt động này tương tự như cấu trúc lặp Foreach trong các ngôn ngữ lập trình.
Lấy Siêu dữ liệu (Get Metadata)Hoạt động Lấy Siêu dữ liệu (Get Metadata) có thể được sử dụng để truy xuất siêu dữ liệu của bất kỳ dữ liệu nào trong một pipeline Azure Data Factory hoặc Azure Synapse Analytics.
Hoạt động Điều kiện Nếu (If Condition Activity)Điều kiện Nếu (If Condition) có thể được sử dụng để phân nhánh dựa trên điều kiện đánh giá là đúng hoặc sai. Hoạt động Điều kiện Nếu cung cấp chức năng tương tự như câu lệnh if trong các ngôn ngữ lập trình. Nó đánh giá một tập hợp các hoạt động khi điều kiện đánh giá là đúng và một tập hợp các hoạt động khác khi điều kiện đánh giá là sai.
Hoạt động Tra cứu (Lookup Activity)Hoạt động Tra cứu (Lookup Activity) có thể được sử dụng để đọc hoặc tra cứu một bản ghi/tên bảng/giá trị từ bất kỳ nguồn bên ngoài nào. Đầu ra này có thể được tham chiếu thêm bởi các hoạt động tiếp theo.
Đặt Biến (Set Variable)Đặt giá trị của một biến hiện có.
Hoạt động Cho đến khi (Until Activity)Triển khai vòng lặp Làm-Cho đến khi (Do-Until) tương tự như cấu trúc lặp Do-Until trong các ngôn ngữ lập trình. Nó thực thi một tập hợp các hoạt động trong một vòng lặp cho đến khi điều kiện liên quan đến hoạt động đánh giá là đúng. Bạn có thể chỉ định giá trị thời gian chờ (timeout) cho hoạt động cho đến khi.
Hoạt động Xác thực (Validation Activity)Đảm bảo một pipeline chỉ tiếp tục thực thi nếu một tập dữ liệu tham chiếu tồn tại, đáp ứng các tiêu chí được chỉ định, hoặc đạt đến thời gian chờ (timeout).
Hoạt động Chờ (Wait Activity)Khi bạn sử dụng một hoạt động Chờ (Wait Activity) trong một pipeline, pipeline sẽ chờ thời gian được chỉ định trước khi tiếp tục thực thi các hoạt động tiếp theo.
Hoạt động Web (Web Activity)Hoạt động Web (Web Activity) có thể được sử dụng để gọi một điểm cuối REST tùy chỉnh từ một pipeline. Bạn có thể truyền các tập dữ liệu và dịch vụ liên kết để được tiêu thụ và truy cập bởi hoạt động.
Hoạt động Webhook (Webhook Activity)Sử dụng hoạt động Webhook (Webhook Activity), gọi một điểm cuối và truyền một URL gọi lại (callback URL). Lần chạy pipeline sẽ chờ cho đến khi lệnh gọi lại được gọi trước khi tiến hành hoạt động tiếp theo.

Tạo một pipeline với giao diện người dùng

Azure Data Factory

Để tạo một pipeline mới, điều hướng đến tab Tác giả (Author) trong Data Factory Studio (được biểu thị bằng biểu tượng bút chì), sau đó chọn dấu cộng và chọn Pipeline từ menu, và Pipeline một lần nữa từ menu con.

Azure Data Factory hiển thị trình chỉnh sửa pipeline nơi bạn có thể tìm thấy:

  1. Tất cả các hoạt động có thể được sử dụng trong pipeline.
  2. Bảng vẽ trình chỉnh sửa pipeline (pipeline editor canvas), nơi các hoạt động xuất hiện khi được thêm vào pipeline.
  3. Bảng cấu hình pipeline (pipeline configurations pane), bao gồm các tham số (parameters), biến (variables), cài đặt chung (general settings) và đầu ra (output).
  4. Bảng thuộc tính pipeline (pipeline properties pane), nơi tên pipeline, mô tả tùy chọn (optional description) và các chú thích (annotations) có thể được cấu hình. Bảng này cũng hiển thị bất kỳ mục liên quan nào đến pipeline trong Azure Data Factory.

JSON pipeline

Dưới đây là cách một pipeline được định nghĩa trong định dạng JSON:

{
    "name": "PipelineName",
    "properties": {
        "description": "pipeline description",
        "activities": [],
        "parameters": {},
        "concurrency": "",
        "annotations": []
    }
}
    
ThẻMô tảKiểuBắt buộc
nameTên của pipeline. Chỉ định một tên đại diện cho hành động mà pipeline thực hiện.
– Số ký tự tối đa: 140
– Phải bắt đầu bằng một chữ cái, số hoặc dấu gạch dưới (_)
Chuỗi
descriptionChỉ định văn bản mô tả mục đích của pipeline.ChuỗiKhông
activitiesPhần hoạt động (activities) có thể có một hoặc nhiều hoạt động được định nghĩa trong đó. Xem phần JSON Hoạt động (Activity JSON) để biết chi tiết về yếu tố JSON hoạt động.Mảng
parametersPhần tham số (parameters) có thể có một hoặc nhiều tham số được định nghĩa trong pipeline, giúp pipeline của bạn linh hoạt để tái sử dụng.Danh sáchKhông
concurrencySố lần chạy đồng thời tối đa mà pipeline có thể có. Theo mặc định, không có giới hạn tối đa. Nếu đạt đến giới hạn đồng thời, các lần chạy pipeline bổ sung sẽ được xếp hàng cho đến khi các lần trước hoàn thành.SốKhông
annotationsDanh sách các thẻ (tags) liên quan đến pipeline.MảngKhông

JSON hoạt động

Phần hoạt động (activities) có thể có một hoặc nhiều hoạt động được định nghĩa trong đó. Có hai loại hoạt động chính: Hoạt động Thực thi (Execution Activities) và Hoạt động Điều khiển (Control Activities).

Hoạt động thực thi

Hoạt động thực thi bao gồm các hoạt động di chuyển dữ liệu (data movement activities) và hoạt động chuyển đổi dữ liệu (data transformation activities). Chúng có cấu trúc cấp cao sau:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "",
    "typeProperties": {},
    "linkedServiceName": {},
    "policy": {},
    "dependsOn": {}
}
    
ThẻMô tảBắt buộc
nameTên của hoạt động. Chỉ định một tên đại diện cho hành động mà hoạt động thực hiện.
– Số ký tự tối đa: 55
– Phải bắt đầu bằng một chữ cái, số hoặc dấu gạch dưới (_)
– Các ký tự sau không được phép: “.”, “+”, “?”, “/”, “<“, “>”, “%”, “&”, “\”, “:”
descriptionVăn bản mô tả hoạt động hoặc mục đích của nó.
typeLoại của hoạt động. Xem các phần Hoạt động Di chuyển Dữ liệu (Data Movement Activities), Hoạt động Chuyển đổi Dữ liệu (Data Transformation Activities) và Hoạt động Điều khiển (Control Activities) để biết các loại hoạt động khác nhau.
linkedServiceNameTên của dịch vụ liên kết (linked service) được sử dụng bởi hoạt động.
Một hoạt động có thể yêu cầu bạn chỉ định dịch vụ liên kết liên kết với môi trường tính toán cần thiết.
Có đối với Hoạt động HDInsight (HDInsight Activity), Hoạt động Điểm số Hàng loạt ML Studio (classic) (ML Studio (classic) Batch Scoring Activity), Hoạt động Thủ tục Lưu trữ (Stored Procedure Activity).
Không đối với tất cả các hoạt động khác.
typePropertiesCác thuộc tính trong phần typeProperties phụ thuộc vào từng loại hoạt động. Để xem các thuộc tính loại cho một hoạt động, chọn liên kết đến hoạt động trong phần trước.Không
policyCác chính sách (policies) ảnh hưởng đến hành vi thời gian chạy của hoạt động. Thuộc tính này bao gồm thời gian chờ (timeout) và hành vi thử lại (retry). Nếu không được chỉ định, các giá trị mặc định sẽ được sử dụng. Để biết thêm thông tin, xem phần Activity policy.Không
dependsOnThuộc tính này được sử dụng để định nghĩa các phụ thuộc hoạt động (activity dependencies), và cách các hoạt động tiếp theo phụ thuộc vào các hoạt động trước đó. Để biết thêm thông tin, xem Activity dependency.Không

Chính sách hoạt động

Các chính sách (policies) ảnh hưởng đến hành vi thời gian chạy của một hoạt động, cung cấp các tùy chọn cấu hình. Chính sách Hoạt động (Activity Policies) chỉ khả dụng cho các hoạt động thực thi (execution activities).

Định nghĩa JSON chính sách hoạt động

{
    "name": "MyPipelineName",
    "properties": {
        "activities": [
            {
                "name": "MyCopyBlobtoSqlActivity",
                "type": "Copy",
                "typeProperties": {},
                "policy": {
                    "timeout": "00:10:00",
                    "retry": 1,
                    "retryIntervalInSeconds": 60,
                    "secureOutput": true
                }
            }
        ],
        "parameters": {}
    }
}
    
Tên JSONMô tảGiá trị cho phépBắt buộc
timeoutChỉ định thời gian chờ (timeout) để hoạt động chạy.Khoảng thời gian (Timespan)Không. Thời gian chờ mặc định là 12 giờ, tối thiểu 10 phút.
retrySố lần thử lại tối đa (retry attempts).Số nguyên (Integer)Không. Mặc định là 0.
retryIntervalInSecondsKhoảng thời gian trễ giữa các lần thử lại tính bằng giây.Số nguyên (Integer)Không. Mặc định là 30 giây.
secureOutputKhi được đặt thành true, đầu ra từ hoạt động được coi là bảo mật (secure) và không được ghi lại để giám sát.BooleanKhông. Mặc định là false.

Hoạt động điều khiển

Các hoạt động điều khiển (control activities) có cấu trúc cấp cao sau:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "",
    "typeProperties": {},
    "dependsOn": {}
}
    
ThẻMô tảBắt buộc
nameTên của hoạt động. Chỉ định một tên đại diện cho hành động mà hoạt động thực hiện.
– Số ký tự tối đa: 55
– Phải bắt đầu bằng một chữ cái, số hoặc dấu gạch dưới (_)
– Các ký tự sau không được phép: “.”, “+”, “?”, “/”, “<“, “>”, “%”, “&”, “\”, “:”
descriptionVăn bản mô tả hoạt động hoặc mục đích của nó.
typeLoại của hoạt động. Xem các phần Hoạt động Di chuyển Dữ liệu (Data Movement Activities), Hoạt động Chuyển đổi Dữ liệu (Data Transformation Activities) và Hoạt động Điều khiển (Control Activities) để biết các loại hoạt động khác nhau.
typePropertiesCác thuộc tính trong phần typeProperties phụ thuộc vào từng loại hoạt động. Để xem các thuộc tính loại cho một hoạt động, chọn liên kết đến hoạt động trong phần trước.Không
dependsOnThuộc tính này được sử dụng để định nghĩa các phụ thuộc hoạt động (activity dependencies), và cách các hoạt động tiếp theo phụ thuộc vào các hoạt động trước đó. Để biết thêm thông tin, xem Activity dependency.Không

Ví dụ: Hoạt động 2 phụ thuộc vào Hoạt động 1 thành công

{
    "name": "PipelineName",
    "properties": {
        "description": "pipeline description",
        "activities": [
            {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {},
                "linkedServiceName": {}
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {},
                "linkedServiceName": {},
                "dependsOn": [
                    {
                        "activity": "MyFirstActivity",
                        "dependencyConditions": ["Succeeded"]
                    }
                ]
            }
        ],
        "parameters": {}
    }
}
    

Pipeline sao chép mẫu

Trong pipeline mẫu sau đây, có một hoạt động loại Sao chép (Copy) trong phần hoạt động (activities). Trong mẫu này, hoạt động sao chép sao chép dữ liệu từ Lưu trữ Blob Azure (Azure Blob Storage) sang một cơ sở dữ liệu trong Cơ sở dữ liệu Azure SQL (Azure SQL Database).

{
    "name": "CopyPipeline",
    "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
            {
                "name": "CopyFromBlobToSQL",
                "type": "Copy",
                "inputs": [
                    {
                        "name": "InputDataset"
                    }
                ],
                "outputs": [
                    {
                        "name": "OutputDataset"
                    }
                ],
                "typeProperties": {
                    "source": {
                        "type": "BlobSource"
                    },
                    "sink": {
                        "type": "SqlSink",
                        "writeBatchSize": 10000,
                        "writeBatchTimeout": "60:00:00"
                    }
                },
                "policy": {
                    "retry": 2,
                    "timeout": "01:00:00"
                }
            }
        ]
    }
}
    

Lưu ý các điểm sau:

  • Trong phần hoạt động (activities), chỉ có một hoạt động với loại được đặt thành Sao chép (Copy).
  • Đầu vào cho hoạt động được đặt thành InputDataset và đầu ra cho hoạt động được đặt thành OutputDataset. Xem bài viết Datasets để biết cách định nghĩa các tập dữ liệu trong JSON.
  • Trong phần typeProperties, BlobSource được chỉ định làm loại nguồn (source type) và SqlSink được chỉ định làm loại đích (sink type). Trong phần hoạt động di chuyển dữ liệu (data movement activities), chọn kho dữ liệu mà bạn muốn sử dụng làm nguồn hoặc đích để tìm hiểu thêm về việc di chuyển dữ liệu đến/từ kho dữ liệu đó.

Để biết hướng dẫn đầy đủ về việc tạo pipeline này, xem Quickstart: create a Data Factory.

Pipeline chuyển đổi mẫu

Trong pipeline mẫu sau đây, có một hoạt động loại HDInsightHive trong phần hoạt động (activities). Trong mẫu này, hoạt động HDInsight Hive chuyển đổi dữ liệu từ Lưu trữ Blob Azure (Azure Blob Storage) bằng cách chạy một tệp kịch bản Hive trên một cụm Hadoop Azure HDInsight.

{
    "name": "TransformPipeline",
    "properties": {
        "description": "My first Azure Data Factory pipeline",
        "activities": [
            {
                "type": "HDInsightHive",
                "typeProperties": {
                    "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                    "scriptLinkedService": "AzureStorageLinkedService",
                    "defines": {
                        "inputtable": "wasb://adfgetstarted@.blob.core.windows.net/inputdata",
                        "partitionedtable": "wasb://adfgetstarted@.blob.core.windows.net/partitioneddata"
                    }
                },
                "inputs": [
                    {
                        "name": "AzureBlobInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobOutput"
                    }
                ],
                "policy": {
                    "retry": 3
                },
                "name": "RunSampleHiveActivity",
                "linkedServiceName": "HDInsightOnDemandLinkedService"
            }
        ]
    }
}
    

Lưu ý các điểm sau:

  • Trong phần hoạt động (activities), chỉ có một hoạt động với loại được đặt thành HDInsightHive.
  • Tệp kịch bản Hive, partitionweblogs.hql, được lưu trữ trong tài khoản Lưu trữ Azure (Azure Storage) (được chỉ định bởi scriptLinkedService, gọi là AzureStorageLinkedService), và trong thư mục script trong bộ chứa adfgetstarted.
  • Phần defines được sử dụng để chỉ định các cài đặt thời gian chạy (runtime settings) được truyền đến kịch bản Hive dưới dạng giá trị cấu hình Hive (ví dụ: ${hiveconf:inputtable}${hiveconf:partitionedtable}).

Phần typeProperties khác nhau đối với từng hoạt động chuyển đổi (transformation activity). Để tìm hiểu về các thuộc tính loại được hỗ trợ cho một hoạt động chuyển đổi, chọn hoạt động chuyển đổi trong phần Hoạt động chuyển đổi dữ liệu (Data transformation activities).

Để biết hướng dẫn đầy đủ về việc tạo pipeline này, xem Tutorial: transform data using Spark.

Nhiều hoạt động trong một pipeline

Hai pipeline mẫu trước đó chỉ có một hoạt động trong chúng. Bạn có thể có nhiều hơn một hoạt động trong một pipeline. Nếu bạn có nhiều hoạt động trong một pipeline và các hoạt động tiếp theo không phụ thuộc vào các hoạt động trước đó, các hoạt động có thể chạy song song.

Bạn có thể liên kết hai hoạt động bằng cách sử dụng phụ thuộc hoạt động (activity dependency), xác định cách các hoạt động tiếp theo phụ thuộc vào các hoạt động trước đó, quyết định điều kiện liệu có tiếp tục thực thi nhiệm vụ tiếp theo hay không. Một hoạt động có thể phụ thuộc vào một hoặc nhiều hoạt động trước đó với các điều kiện phụ thuộc khác nhau.

Lập lịch cho các pipelines

Các pipelines được lập lịch bởi các trình kích hoạt (triggers). Có các loại trình kích hoạt khác nhau (Trình kích hoạt Lịch (Scheduler Trigger), cho phép các pipelines được kích hoạt theo lịch thời gian cố định (wall-clock schedule), và Trình kích hoạt Thủ công (Manual Trigger), kích hoạt các pipelines theo nhu cầu (on-demand)). Để biết thêm thông tin về các trình kích hoạt, xem bài viết pipeline execution and triggers.

Để trình kích hoạt của bạn khởi động một lần chạy pipeline, bạn phải bao gồm một tham chiếu pipeline (pipeline reference) của pipeline cụ thể trong định nghĩa trình kích hoạt. Pipelines và trình kích hoạt có mối quan hệ n-m. Nhiều trình kích hoạt có thể khởi động một pipeline duy nhất, và cùng một trình kích hoạt có thể khởi động nhiều pipelines. Khi trình kích hoạt được định nghĩa, bạn phải khởi động trình kích hoạt để nó bắt đầu kích hoạt pipeline. Để biết thêm thông tin về các trình kích hoạt, xem bài viết pipeline execution and triggers.

Ví dụ, giả sử bạn có một Trình kích hoạt Lịch (Scheduler Trigger), “Trigger A,” mà tôi muốn sử dụng để khởi động pipeline của mình, “MyCopyPipeline.” Bạn định nghĩa trình kích hoạt như trong ví dụ sau:

Định nghĩa Trigger A

{
    "name": "TriggerA",
    "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
            // ...
        },
        "pipeline": {
            "pipelineReference": {
                "type": "PipelineReference",
                "referenceName": "MyCopyPipeline",
                "parameters": {
                    "copySourceName": "FileSource"
                }
            }
        }
    }
}
    

Nội dung liên quan

Liên hệ BSD 0918 339 689 để tìm hiểu thêm về các giải pháp Azure Synapse Analytics, Azure Data Factory. Tìm hiểu phương án tiếp cận và triển khai cho môi trường của doanh nghiệp bạn

Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
Please Share Your Feedback
How Can We Improve This Article?