Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk
Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.
Dalam tutorial ini, Anda menggunakan Azure Data Factory untuk membuat alur yang memuat data delta dari tabel di Azure SQL Database ke penyimpanan Blob Azure.
Anda akan melakukan langkah-langkah berikut dalam tutorial ini:
- Siapkan penyimpanan data untuk menyimpan nilai marka air.
- Membuat pabrik data.
- Membuat layanan tertaut.
- Buat himpunan data sumber, tujuan, dan penanda.
- Buat pipa saluran.
- Jalankan alur kerja.
- Pantau eksekusi alur.
Gambaran Umum
Berikut adalah diagram solusi tingkat tinggi:
Berikut adalah langkah-langkah penting untuk membuat solusi ini:
Pilih kolom tanda air. Pilih satu kolom di penyimpanan data sumber yang dapat digunakan untuk mengiris rekaman baru atau yang diperbarui untuk setiap pemrosesan. Biasanya, data di kolom yang dipilih ini (misalnya, last_modify_time atau ID) terus meningkat saat baris dibuat atau diperbarui. Nilai maksimum dalam kolom ini digunakan sebagai tanda.
Siapkan penyimpanan data untuk menyimpan nilai watermark.
Dalam tutorial ini, Anda akan menyimpan nilai tanda air dalam database SQL.Buat alur dengan alur kerja berikut:
Alur dalam solusi ini memiliki aktivitas berikut:
- Buat dua aktivitas Pencarian. Gunakan aktivitas Lookup pertama untuk memperoleh nilai tanda waktu terakhir. Gunakan aktivitas Lookup kedua untuk mengambil nilai penanda baru. Nilai tanda air ini diteruskan ke aktivitas penyalinan.
- Buat aktivitas Salin yang menyalin baris dari penyimpanan data asal dengan nilai kolom marka air yang lebih besar dari nilai marka air lama dan kurang dari atau sama dengan nilai marka air baru. Kemudian, menyalin data delta dari penyimpanan data sumber ke penyimpanan Blob sebagai file baru.
- Buat aktivitas StoredProcedure yang memperbarui nilai watermark untuk alur kerja yang akan berjalan berikutnya.
Jika Anda tidak memiliki langganan Azure, buat akun free sebelum Memulai.
Prasyarat
Catatan
Kami menyarankan agar Anda menggunakan modul Az PowerShell Azure untuk berinteraksi dengan Azure. Untuk memulai, lihat Install Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Migrasikan Azure PowerShell dari AzureRM ke Az.
- Azure SQL Database. Anda menggunakan database sebagai penyimpanan data sumber. Jika Anda tidak memiliki database di Azure SQL Database, lihat Buat database di Azure SQL Database untuk langkah-langkah membuatnya.
- Azure Storage. Anda menggunakan penyimpanan blob sebagai penyimpanan data sink. Jika Anda tidak memiliki akun penyimpanan, lihat Membuat akun penyimpanan untuk mengetahui langkah-langkah membuatnya. Buat kontainer dengan nama adftutorial.
- Azure PowerShell. Ikuti instruksi di Install dan konfigurasikan Azure PowerShell.
Membuat tabel sumber data di database SQL Anda
Buka SQL Server Management Studio. Di Server Explorer, klik kanan database, dan pilih Kueri Baru.
Jalankan perintah SQL berikut terhadap database SQL untuk membuat tabel bernama
data_source_tablesebagai penyimpanan sumber data:create table data_source_table ( PersonID int, Name varchar(255), LastModifytime datetime ); INSERT INTO data_source_table (PersonID, Name, LastModifytime) VALUES (1, 'aaaa','9/1/2017 12:56:00 AM'), (2, 'bbbb','9/2/2017 5:23:00 AM'), (3, 'cccc','9/3/2017 2:36:00 AM'), (4, 'dddd','9/4/2017 3:21:00 AM'), (5, 'eeee','9/5/2017 8:06:00 AM');Dalam tutorial ini, Anda menggunakan LastModifytime sebagai kolom penanda waktu. Data di penyimpanan sumber data diperlihatkan dalam tabel berikut:
PersonID | Name | LastModifytime -------- | ---- | -------------- 1 | aaaa | 2017-09-01 00:56:00.000 2 | bbbb | 2017-09-02 05:23:00.000 3 | cccc | 2017-09-03 02:36:00.000 4 | dddd | 2017-09-04 03:21:00.000 5 | eeee | 2017-09-05 08:06:00.000
Buat tabel lain di database SQL Anda untuk menyimpan nilai penanda batas atas
Jalankan perintah SQL berikut pada database SQL Anda untuk membuat tabel bernama
watermarktableguna menyimpan nilai tanda air:create table watermarktable ( TableName varchar(255), WatermarkValue datetime, );Atur nilai default watermark tinggi dengan nama tabel data sumber. Dalam tutorial ini, nama tabel adalah data_source_table.
INSERT INTO watermarktable VALUES ('data_source_table','1/1/2010 12:00:00 AM')Tinjau data dalam tabel
watermarktable.Select * from watermarktableKeluaran
TableName | WatermarkValue ---------- | -------------- data_source_table | 2010-01-01 00:00:00.000
Membuat prosedur tersimpan di database SQL Anda
Jalankan perintah berikut ini untuk membuat prosedur tersimpan di database SQL Anda:
CREATE PROCEDURE usp_write_watermark @LastModifiedtime datetime, @TableName varchar(50)
AS
BEGIN
UPDATE watermarktable
SET [WatermarkValue] = @LastModifiedtime
WHERE [TableName] = @TableName
END
Membuat pabrik data
Tentukan variabel untuk nama grup sumber daya yang Anda gunakan di perintah PowerShell nanti. Salin teks perintah berikut ke PowerShell, tentukan nama untuk grup sumber daya Azure dalam tanda kutip ganda, lalu jalankan perintah . Contohnya
"adfrg".$resourceGroupName = "ADFTutorialResourceGroup";Jika grup sumber daya sudah ada, Anda mungkin tidak ingin menimpa atau menggantinya. Tetapkan nilai yang berbeda ke variabel
$resourceGroupName, lalu jalankan perintah lagi.Tentukan variabel untuk lokasi pabrik data.
$location = "East US"Untuk membuat grup sumber daya Azure, jalankan perintah berikut:
New-AzResourceGroup $resourceGroupName $locationJika grup sumber daya sudah ada, Anda mungkin tidak ingin menimpa atau menggantinya. Tetapkan nilai yang berbeda ke variabel
$resourceGroupName, lalu jalankan perintah lagi.Tentukan variabel untuk nama pabrik data.
Penting
Perbarui nama pabrik data untuk menjadikannya unik secara global. Misalnya, ADFTutorialFactorySP1127.
$dataFactoryName = "ADFIncCopyTutorialFactory";Untuk membuat pabrik data, jalankan cmdlet Set-AzDataFactoryV2 berikut:
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location "East US" -Name $dataFactoryName
Perhatikan poin berikut:
Nama pabrik data harus unik secara global. Jika Anda menerima kesalahan berikut, ubah nama dan coba lagi:
The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.Untuk membuat instans Data Factory, akun pengguna yang Anda gunakan untuk masuk ke Azure harus menjadi anggota peran kontributor atau pemilik, atau administrator langganan Azure.
Untuk daftar wilayah Azure tempat Data Factory saat ini tersedia, pilih wilayah yang menarik minat Anda di halaman berikut, lalu perluas Analytics untuk menemukan Data Factory: Products yang tersedia menurut wilayah. Penyimpanan data (Penyimpanan, SQL Database, Azure SQL Managed Instance, dan sebagainya) dan komputasi (Azure HDInsight, dll.) yang digunakan oleh pabrik data dapat berada di wilayah lain.
Membuat layanan terhubung
Anda membuat layanan tertaut di pabrik data untuk menautkan penyimpanan data dan layanan komputasi ke pabrik data. Di bagian ini, Anda membuat layanan yang ditautkan ke akun penyimpanan dan SQL Database.
Membuat layanan tertaut Storage
Buat file JSON bernama AzureStorageLinkedService.json di folder C:\ADF folder dengan konten berikut. (Buat folder ADF jika belum ada.) Ganti
<accountName>dan<accountKey>dengan nama dan kunci akun penyimpanan sebelum Anda menyimpan file.{ "name": "AzureStorageLinkedService", "properties": { "type": "AzureStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>" } } }Di PowerShell, beralih ke folder ADF.
Jalankan cmdlet Set-AzDataFactoryV2LinkedService untuk membuat layanan tertaut AzureStorageLinkedService. Dalam contoh berikut, Anda meneruskan nilai untuk parameter ResourceGroupName dan DataFactoryName:
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"Berikut adalah output sampel:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureStorageLinkedService
Membuat layanan terkait basis data SQL
Buat file JSON bernama AzureSQLDatabaseLinkedService.json di folder C:\ADF folder dengan konten berikut. (Buat folder ADF jika belum ada.) Ganti <nama server-Anda dan >nama-database-Anda<> dengan nama server dan database Anda sebelum Anda menyimpan file. Anda juga harus mengonfigurasi SQL Server Azure anda untuk ses ke identitas terkelola pabrik data Anda.
{ "name": "AzureSqlDatabaseLinkedService", "properties": { "type": "AzureSqlDatabase", "typeProperties": { "connectionString": "Server=tcp:<your-server-name>.database.windows.net,1433;Database=<your-database-name>;" }, "authenticationType": "ManagedIdentity", "annotations": [] } }Di PowerShell, beralih ke folder ADF.
Jalankan cmdlet Set-AzDataFactoryV2LinkedService untuk membuat layanan tertaut AzureSQLDatabaseLinkedService.
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSQLDatabaseLinkedService" -File ".\AzureSQLDatabaseLinkedService.json"Berikut adalah output sampel:
LinkedServiceName : AzureSQLDatabaseLinkedService ResourceGroupName : ADF DataFactoryName : incrementalloadingADF Properties : Microsoft.Azure.Management.DataFactory.Models.AzureSqlDatabaseLinkedService ProvisioningState :
Membuat himpunan data
Dalam langkah ini, Anda akan membuat himpunan data untuk mewakili data sumber dan sink.
Membuat himpunan data sumber
Buat file JSON bernama SourceDataset.json di folder yang sama dengan konten berikut:
{ "name": "SourceDataset", "properties": { "type": "AzureSqlTable", "typeProperties": { "tableName": "data_source_table" }, "linkedServiceName": { "referenceName": "AzureSQLDatabaseLinkedService", "type": "LinkedServiceReference" } } }Dalam tutorial ini, Anda akan menggunakan nama tabel data_source_table. Ganti jika Anda menggunakan tabel dengan nama yang berbeda.
Jalankan cmdlet Set-AzDataFactoryV2Dataset untuk membuat himpunan data: SourceDataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SourceDataset" -File ".\SourceDataset.json"Berikut adalah output sampel dari cmdlet tersebut:
DatasetName : SourceDataset ResourceGroupName : ADF DataFactoryName : incrementalloadingADF Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.AzureSqlTableDataset
Membuat himpunan data sink
Buat file JSON bernama SinkDataset.json di folder yang sama dengan konten berikut:
{ "name": "SinkDataset", "properties": { "type": "AzureBlob", "typeProperties": { "folderPath": "adftutorial/incrementalcopy", "fileName": "@CONCAT('Incremental-', pipeline().RunId, '.txt')", "format": { "type": "TextFormat" } }, "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" } } }Penting
Cuplikan ini berasumsi bahwa Anda memiliki kontainer blob bernama
adftutorialdi penyimpanan blob. Buat kontainer jika tidak ada, atau atur ke nama kontainer yang sudah ada. Folder outputincrementalcopyakan secara otomatis dibuat jika belum ada dalam kontainer. Dalam tutorial ini, nama file akan dibuat secara dinamis dengan menggunakan ekspresi@CONCAT('Incremental-', pipeline().RunId, '.txt').Jalankan cmdlet Set-AzDataFactoryV2Dataset untuk membuat himpunan data SinkDataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SinkDataset" -File ".\SinkDataset.json"Berikut adalah output sampel dari cmdlet tersebut:
DatasetName : SinkDataset ResourceGroupName : ADF DataFactoryName : incrementalloadingADF Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobDataset
Membuat himpunan data untuk tanda air
Dalam langkah ini, Anda akan membuat himpunan data untuk menyimpan nilai marka air yang tinggi.
Buat file JSON bernama WatermarkDataset.json di folder yang sama dengan konten berikut:
{ "name": " WatermarkDataset ", "properties": { "type": "AzureSqlTable", "typeProperties": { "tableName": "watermarktable" }, "linkedServiceName": { "referenceName": "AzureSQLDatabaseLinkedService", "type": "LinkedServiceReference" } } }Jalankan cmdlet Set-AzDataFactoryV2Dataset untuk membuat himpunan data WatermarkDataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "WatermarkDataset" -File ".\WatermarkDataset.json"Berikut adalah output sampel dari cmdlet tersebut:
DatasetName : WatermarkDataset ResourceGroupName : ADF DataFactoryName : incrementalloadingADF Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.AzureSqlTableDataset
Buat alur
Dalam tutorial ini, Anda membuat alur dengan dua aktivitas Pencarian, satu Copy activity, dan satu aktivitas StoredProcedure yang ditautkan dalam satu alur.
Buat file JSON IncrementalCopyPipeline.json di folder yang sama dengan konten berikut:
{ "name": "IncrementalCopyPipeline", "properties": { "activities": [ { "name": "LookupOldWaterMarkActivity", "type": "Lookup", "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "select * from watermarktable" }, "dataset": { "referenceName": "WatermarkDataset", "type": "DatasetReference" } } }, { "name": "LookupNewWaterMarkActivity", "type": "Lookup", "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "select MAX(LastModifytime) as NewWatermarkvalue from data_source_table" }, "dataset": { "referenceName": "SourceDataset", "type": "DatasetReference" } } }, { "name": "IncrementalCopyActivity", "type": "Copy", "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "select * from data_source_table where LastModifytime > '@{activity('LookupOldWaterMarkActivity').output.firstRow.WatermarkValue}' and LastModifytime <= '@{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}'" }, "sink": { "type": "BlobSink" } }, "dependsOn": [ { "activity": "LookupNewWaterMarkActivity", "dependencyConditions": [ "Succeeded" ] }, { "activity": "LookupOldWaterMarkActivity", "dependencyConditions": [ "Succeeded" ] } ], "inputs": [ { "referenceName": "SourceDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "SinkDataset", "type": "DatasetReference" } ] }, { "name": "StoredProceduretoWriteWatermarkActivity", "type": "SqlServerStoredProcedure", "typeProperties": { "storedProcedureName": "usp_write_watermark", "storedProcedureParameters": { "LastModifiedtime": {"value": "@{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}", "type": "datetime" }, "TableName": { "value":"@{activity('LookupOldWaterMarkActivity').output.firstRow.TableName}", "type":"String"} } }, "linkedServiceName": { "referenceName": "AzureSQLDatabaseLinkedService", "type": "LinkedServiceReference" }, "dependsOn": [ { "activity": "IncrementalCopyActivity", "dependencyConditions": [ "Succeeded" ] } ] } ] } }Jalankan cmdlet Set-AzDataFactoryV2Pipeline untuk membuat alur IncrementalCopyPipeline.
Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "IncrementalCopyPipeline" -File ".\IncrementalCopyPipeline.json"Berikut adalah output sampel:
PipelineName : IncrementalCopyPipeline ResourceGroupName : ADF DataFactoryName : incrementalloadingADF Activities : {LookupOldWaterMarkActivity, LookupNewWaterMarkActivity, IncrementalCopyActivity, StoredProceduretoWriteWatermarkActivity} Parameters :
Menjalankan alur
Jalankan alur IncrementalCopyPipeline dengan menggunakan cmdlet Invoke-AzDataFactoryV2Pipeline. Ganti tempat penampung dengan grup sumber daya dan nama pabrik data Anda sendiri.
$RunId = Invoke-AzDataFactoryV2Pipeline -PipelineName "IncrementalCopyPipeline" -ResourceGroupName $resourceGroupName -dataFactoryName $dataFactoryNamePeriksa status alur dengan menjalankan cmdlet Get-AzDataFactoryV2ActivityRun hingga Anda melihat semua aktivitas berjalan dengan baik. Ganti placeholder dengan waktu yang sesuai pilihan Anda untuk parameter RunStartedAfter dan RunStartedBefore. Dalam tutorial ini, Anda akan menggunakan -RunStartedAfter "2017/09/14" dan -RunStartedBefore "2017/09/15".
Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $RunId -RunStartedAfter "<start time>" -RunStartedBefore "<end time>"Berikut adalah output sampel:
ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : LookupNewWaterMarkActivity PipelineRunId : d4bf3ce2-5d60-43f3-9318-923155f61037 PipelineName : IncrementalCopyPipeline Input : {source, dataset} Output : {NewWatermarkvalue} LinkedServiceName : ActivityRunStart : 9/14/2017 7:42:42 AM ActivityRunEnd : 9/14/2017 7:42:50 AM DurationInMs : 7777 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : LookupOldWaterMarkActivity PipelineRunId : d4bf3ce2-5d60-43f3-9318-923155f61037 PipelineName : IncrementalCopyPipeline Input : {source, dataset} Output : {TableName, WatermarkValue} LinkedServiceName : ActivityRunStart : 9/14/2017 7:42:42 AM ActivityRunEnd : 9/14/2017 7:43:07 AM DurationInMs : 25437 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : IncrementalCopyActivity PipelineRunId : d4bf3ce2-5d60-43f3-9318-923155f61037 PipelineName : IncrementalCopyPipeline Input : {source, sink} Output : {dataRead, dataWritten, rowsCopied, copyDuration...} LinkedServiceName : ActivityRunStart : 9/14/2017 7:43:10 AM ActivityRunEnd : 9/14/2017 7:43:29 AM DurationInMs : 19769 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : StoredProceduretoWriteWatermarkActivity PipelineRunId : d4bf3ce2-5d60-43f3-9318-923155f61037 PipelineName : IncrementalCopyPipeline Input : {storedProcedureName, storedProcedureParameters} Output : {} LinkedServiceName : ActivityRunStart : 9/14/2017 7:43:32 AM ActivityRunEnd : 9/14/2017 7:43:47 AM DurationInMs : 14467 Status : Succeeded Error : {errorCode, message, failureType, target}
Meninjau hasil
Di penyimpanan blob (penyimpanan sink), Anda akan melihat bahwa data disalin ke file yang ditentukan dalam SinkDataset. Dalam tutorial saat ini, nama file adalah
Incremental- d4bf3ce2-5d60-43f3-9318-923155f61037.txt. Buka file tersebut, dan Anda dapat melihat rekaman dalam file yang sama dengan data dalam database SQL.1,aaaa,2017-09-01 00:56:00.0000000 2,bbbb,2017-09-02 05:23:00.0000000 3,cccc,2017-09-03 02:36:00.0000000 4,dddd,2017-09-04 03:21:00.0000000 5,eeee,2017-09-05 08:06:00.0000000Periksa nilai terbaru dari
watermarktable. Anda melihat nilai tanda air sudah diperbarui.Select * from watermarktableBerikut adalah output sampel:
TableName WatermarkValue tabel_sumber_data 2017-09-05 8:06:00.000
Menyisipkan data ke dalam penyimpanan sumber data untuk memverifikasi pemuatan data delta
Sisipkan data baru ke database SQL (penyimpanan sumber data).
INSERT INTO data_source_table VALUES (6, 'newdata','9/6/2017 2:23:00 AM') INSERT INTO data_source_table VALUES (7, 'newdata','9/7/2017 9:01:00 AM')Data yang diperbarui dalam database SQL adalah:
PersonID | Name | LastModifytime -------- | ---- | -------------- 1 | aaaa | 2017-09-01 00:56:00.000 2 | bbbb | 2017-09-02 05:23:00.000 3 | cccc | 2017-09-03 02:36:00.000 4 | dddd | 2017-09-04 03:21:00.000 5 | eeee | 2017-09-05 08:06:00.000 6 | newdata | 2017-09-06 02:23:00.000 7 | newdata | 2017-09-07 09:01:00.000Jalankan alur IncrementalCopyPipeline lagi dengan menggunakan cmdlet Invoke-AzDataFactoryV2Pipeline. Ganti tempat penampung dengan grup sumber daya dan nama pabrik data Anda sendiri.
$RunId = Invoke-AzDataFactoryV2Pipeline -PipelineName "IncrementalCopyPipeline" -ResourceGroupName $resourceGroupName -dataFactoryName $dataFactoryNamePeriksa status alur dengan menjalankan cmdlet Get-AzDataFactoryV2ActivityRun hingga Anda melihat semua aktivitas berjalan dengan baik. Ganti placeholder dengan waktu yang sesuai pilihan Anda untuk parameter RunStartedAfter dan RunStartedBefore. Dalam tutorial ini, Anda akan menggunakan -RunStartedAfter "2017/09/14" dan -RunStartedBefore "2017/09/15".
Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $RunId -RunStartedAfter "<start time>" -RunStartedBefore "<end time>"Berikut adalah output sampel:
ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : LookupNewWaterMarkActivity PipelineRunId : 2fc90ab8-d42c-4583-aa64-755dba9925d7 PipelineName : IncrementalCopyPipeline Input : {source, dataset} Output : {NewWatermarkvalue} LinkedServiceName : ActivityRunStart : 9/14/2017 8:52:26 AM ActivityRunEnd : 9/14/2017 8:52:58 AM DurationInMs : 31758 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : LookupOldWaterMarkActivity PipelineRunId : 2fc90ab8-d42c-4583-aa64-755dba9925d7 PipelineName : IncrementalCopyPipeline Input : {source, dataset} Output : {TableName, WatermarkValue} LinkedServiceName : ActivityRunStart : 9/14/2017 8:52:26 AM ActivityRunEnd : 9/14/2017 8:52:52 AM DurationInMs : 25497 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : IncrementalCopyActivity PipelineRunId : 2fc90ab8-d42c-4583-aa64-755dba9925d7 PipelineName : IncrementalCopyPipeline Input : {source, sink} Output : {dataRead, dataWritten, rowsCopied, copyDuration...} LinkedServiceName : ActivityRunStart : 9/14/2017 8:53:00 AM ActivityRunEnd : 9/14/2017 8:53:20 AM DurationInMs : 20194 Status : Succeeded Error : {errorCode, message, failureType, target} ResourceGroupName : ADF DataFactoryName : incrementalloadingADF ActivityName : StoredProceduretoWriteWatermarkActivity PipelineRunId : 2fc90ab8-d42c-4583-aa64-755dba9925d7 PipelineName : IncrementalCopyPipeline Input : {storedProcedureName, storedProcedureParameters} Output : {} LinkedServiceName : ActivityRunStart : 9/14/2017 8:53:23 AM ActivityRunEnd : 9/14/2017 8:53:41 AM DurationInMs : 18502 Status : Succeeded Error : {errorCode, message, failureType, target}Dalam penyimpanan blob, Anda melihat bahwa file lain telah dibuat. Dalam tutorial ini, nama file baru tersebut adalah
Incremental-2fc90ab8-d42c-4583-aa64-755dba9925d7.txt. Buka file tersebut, dan Anda akan melihat dua baris rekaman di dalamnya.Periksa nilai terbaru dari
watermarktable. Anda melihat bahwa nilai tanda air telah diperbarui.Select * from watermarktablesampel keluaran:
TableName WatermarkValue tabel_sumber_data 2017-09-07 09:01:00.000
Konten terkait
Anda melakukan langkah-langkah berikut dalam tutorial ini:
- Siapkan penyimpanan data untuk menyimpan nilai marka air.
- Membuat pabrik data.
- Membuat layanan tertaut.
- Buat himpunan data sumber, tujuan, dan penanda.
- Buat pipa saluran.
- Jalankan alur kerja.
- Pantau eksekusi alur.
Dalam tutorial ini, alur menyalin data dari satu tabel dalam Azure SQL Database ke penyimpanan Blob. Lanjutkan ke tutorial berikut untuk mempelajari cara menyalin data dari beberapa tabel dalam database SQL Server ke SQL Database.