Menyalin dan mengubah data di Azure Data Lake Storage Gen2 dengan menggunakan Azure Data Factory atau Azure Synapse Analytics
BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Azure Data Lake Storage Gen2 (ADLS Gen2) adalah serangkaian kemampuan yang didedikasikan untuk analitik data besar yang terpasang dalam penyimpanan Azure Blob. Anda dapat menggunakannya untuk berinteraksi dengan data Anda dengan menggunakan paradigma sistem file dan penyimpanan objek.
Artikel ini menjelaskan cara menggunakan Aktivitas Salin untuk menyalin data dari dan ke Azure Data Lake Storage Gen2, dan menggunakan Aliran Data untuk mengubah data di Azure Data Lake Storage Gen2. Untuk mempelajari lebih lanjut, baca artikel pengantar untuk Azure Data Factory atau Azure Synapse Analytics.
Tip
Untuk data lake atau skenario migrasi gudang data, pelajari lebih lanjut di Migrasi data dari data lake atau gudang data ke Azure.
Kemampuan yang didukung
Konektor Azure Data Lake Storage Gen2 ini didukung untuk kemampuan berikut:
Kemampuan yang didukung | IR | Titik akhir privat terkelola |
---|---|---|
Salin aktivitas (sumber/sink) | (1) (2) | ✓ |
Memetakan aliran data (sumber/sink) | (1) | ✓ |
Aktivitas pencarian | (1) (2) | ✓ |
Aktivitas GetMetadata | (1) (2) | ✓ |
Aktivitas penghapusan | (1) (2) | ✓ |
① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri
Untuk Aktivitas penyalinan, dengan konektor ini Anda dapat:
- Salin data dari/ke Azure Data Lake Storage Gen2 dengan menggunakan kunci akun, perwakilan layanan, atau identitas terkelola untuk autentikasi sumber daya Azure.
- Salin file apa adanya atau pilah atau hasilkan file dengan format file yang didukung dan codec pemadatan.
- Pertahankan metadata file selama penyalinan.
- Pertahankan ACL saat menyalin dari Azure Data Lake Storage Gen1/Gen2.
Memulai
Tip
Untuk menelusuri cara menggunakan konektor Data Lake Storage Gen2, lihat Memuat data ke Azure Data Lake Storage Gen2.
Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Buat layanan tertaut Azure Data Lake Storage Gen2 menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan terkait Azure Data Lake Storage Gen2 di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Azure Data Lake Storage Gen2 dan pilih konektor Azure Data Lake Storage Gen2.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut ini berisi informasi tentang properti yang digunakan untuk menentukan entitas alur Data Factory dan Synapse khusus untuk Data Lake Storage Gen2.
Properti layanan tertaut
Konektor Azure Data Lake Storage Gen2 mendukung jenis autentikasi berikut ini. Lihat bagian terkait untuk detailnya:
- Autentikasi kunci akun
- Autentikasi tanda tangan akses bersama
- Autentikasi perwakilan layanan
- Autentikasi identitas terkelola yang ditetapkan sistem
- Autentikasi identitas terkelola yang ditetapkan pengguna
Catatan
- Jika ingin menggunakan runtime integrasi Azure publik untuk menyambungkan ke Data Lake Storage Gen2 dengan memanfaatkan opsi Izinkan layanan Microsoft tepercaya untuk mengakses opsi akun penyimpanan ini yang diaktifkan pada firewall Azure Storage, Anda harus menggunakan autentikasi identitas terkelola. Untuk informasi selengkapnya tentang pengaturan firewall Azure Storage, lihat Mengonfigurasi firewall dan jaringan virtual Azure Storage.
- Saat Anda menggunakan pernyataan PolyBase atau COPY untuk memuat data ke Azure Synapse Analytics, jika Data Lake Storage Gen2 penahapan atau sumber Anda Dikonfigurasi dengan titik akhir Azure Virtual Network, Anda harus menggunakan autentikasi identitas terkelola yang diwajibkan oleh Azure Synapse. Lihat bagian autentikasi identitas terkelola dengan prasyarat konfigurasi lainnya.
Autentikasi kunci akun
Untuk menggunakan autentikasi kunci akun penyimpanan, properti berikut ini didukung:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur ke AzureBlobFS. | Ya |
url | Titik akhir untuk Data Lake Storage Gen2 dengan pola https://<accountname>.dfs.core.windows.net . |
Ya |
accountKey | Kunci akun untuk Data Lake Storage Gen2. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. | Ya |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika properti ini tidak ditentukan, runtime integrasi Azure default akan digunakan. | No |
Catatan
Titik akhir sistem file ADLS sekunder tidak didukung saat menggunakan autentikasi kunci akun. Anda bisa menggunakan jenis autentikasi lainnya.
Contoh:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "<accountkey>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi tanda tangan akses bersama
Tanda tangan akses bersama menyediakan akses yang didelegasikan ke sumber daya di akun penyimpanan Anda. Anda dapat menggunakan tanda tangan akses bersama untuk memberi klien izin terbatas ke objek di akun penyimpanan Anda untuk waktu yang ditentukan.
Anda tidak perlu membagikan kunci akses akun Anda. Tanda tangan akses bersama adalah URI yang parameter kuerinya mencakup semua informasi yang diperlukan untuk akses terautentikasi ke sumber daya penyimpanan. Untuk mengakses sumber daya penyimpanan dengan tanda tangan akses bersama, klien hanya perlu meneruskan tanda tangan akses bersama ke konstruktor atau metode yang sesuai.
Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat Tanda tangan akses bersama: Memahami model tanda tangan akses bersama.
Catatan
- Layanan sekarang mendukung tanda tangan akses bersama layanan dan tanda tangan akses bersama akun. Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat Berikan akses terbatas ke sumber daya Azure Storage dengan menggunakan tanda tangan akses bersama.
- Dalam konfigurasi himpunan data nanti, jalur folder adalah jalur absolut mulai dari tingkat kontainer. Anda perlu mengonfigurasikan satu jalur yang diratakan dengan jalur SAS URI Anda.
Properti berikut ini didukung untuk menggunakan autentikasi tanda tangan akses bersama:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti type harus diatur ke AzureBlobFS (disarankan) |
Ya |
sasUri | Tentukan URI tanda tangan akses bersama ke sumber daya Microsoft Azure Storage seperti blob atau kontainer. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman. Anda juga dapat meletakkan token SAS di Azure Key Vault untuk memanfaatkan rotasi otomatis dan menghapus bagian token. Untuk informasi selengkapnya, lihat contoh berikut ini dan artikel Menyimpan info masuk di Azure Key Vault. |
Ya |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika properti ini tidak ditentukan, layanan menggunakan runtime integrasi Azure default. | No |
Catatan
Jika Anda menggunakan jenis layanan tertaut AzureStorage
, layanan tersebut masih didukung apa adanya. Tetapi kami menyarankan agar Anda menggunakan jenis layanan tertaut baru AzureDataLakeStorageGen2
ke depannya.
Contoh:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh: menyimpan kunci akun di Azure Key Vault
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Saat Anda membuat URI tanda tangan akses bersama, pertimbangkan poin berikut:
- Tetapkan izin baca/tulis yang sesuai pada objek berdasarkan cara layanan tertaut (baca, tulis, baca/tulis) digunakan.
- Set Waktu kedaluwarsa dengan tepat. Pastikan bahwa akses ke objek Storage tidak kedaluwarsa dalam periode aktif alur.
- URI harus dibuat pada kontainer atau blob yang tepat berdasarkan kebutuhan. URI tanda tangan akses bersama ke blob memungkinkan pabrik data atau alur Synapse mengakses blob tertentu. URI tanda tangan akses bersama ke kontainer penyimpanan Blob memungkinkan pabrik data atau pipa Synapse untuk beralih melalui blob dalam kontainer itu. Untuk menyediakan akses ke lebih banyak atau lebih sedikit objek nanti, atau untuk memperbarui URI tanda tangan akses bersama, ingatlah untuk memperbarui layanan tertaut dengan URI baru.
Autentikasi perwakilan layanan
Untuk menggunakan autentikasi perwakilan layanan, ikuti langkah-langkah berikut ini.
Mendaftarkan aplikasi di platform identitas Microsoft. Untuk mempelajari caranya, lihat Mulai Cepat: Mendaftarkan aplikasi dengan platform identitas Microsoft. Catat nilai berikut, yang Anda gunakan untuk menentukan layanan tertaut:
- ID aplikasi
- Kunci Aplikasi
- ID Penyewa
Berikan izin yang tepat kepada perwakilan layanan. Lihat contoh tentang cara kerja izin di Data Lake Storage Gen2 dari daftar kontrol Access pada file dan direktori
- Sebagai sumber: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Baca untuk file yang akan disalin. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Reader.
- Sebagai sink: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Tulis untuk folder sink. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Contributor.
Catatan
Jika Anda menggunakan UI untuk menulis dan perwakilan layanan tidak diatur dengan peran "Pembaca/Kontributor Data Blob Penyimpanan " di IAM, saat melakukan koneksi uji atau telusuri/membuka folder, pilih "Uji koneksi ke jalur file" atau "Telusuri dari jalur yang ditentukan", dan tentukan jalur dengan izin Baca + Eksekusi untuk melanjutkan.
Properti ini didukung untuk layanan tertaut:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur ke AzureBlobFS. | Ya |
url | Titik akhir untuk Data Lake Storage Gen2 dengan pola https://<accountname>.dfs.core.windows.net . |
Ya |
servicePrincipalId | Menentukan ID klien aplikasi. | Ya |
servicePrincipalCredentialType | Jenis informasi masuk yang digunakan untuk autentikasi perwakilan layanan. Nilai yang diizinkan adalah ServicePrincipalKey dan ServicePrincipalCert. | Ya |
servicePrincipalCredential | Informasi masuk perwakilan layanan. Saat Anda menggunakan ServicePrincipalKey sebagai jenis informasi masuk, tentukan kunci aplikasi. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau lihat rahasia yang disimpan di Azure Key Vault. Saat Anda menggunakan ServicePrincipalCert sebagai kredensial, rujuk sertifikat di Azure Key Vault, dan pastikan jenis konten sertifikatnya adalah PKCS #12. |
Ya |
servicePrincipalKey | Tentukan kunci aplikasi. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau lihat rahasia yang disimpan di Azure Key Vault. Properti ini masih didukung sebagaimana mestinya untuk servicePrincipalId + servicePrincipalKey . Karena Azure Data Factory menambahkan autentikasi sertifikat perwakilan layanan baru, model baru untuk otentikasi perwakilan layanan adalah servicePrincipalId + servicePrincipalCredentialType + servicePrincipalCredential . |
No |
penyewa | Tentukan informasi penyewa (nama domain atau ID penyewa) tempat aplikasi Anda berada. Ambil dengan mengarahkan mouse ke sudut kanan atas portal Microsoft Azure. | Ya |
azureCloudType | Untuk autentikasi perwakilan layanan, tentukan jenis lingkungan cloud Azure tempat aplikasi Microsoft Entra Anda didaftarkan. Nilai yang diizinkan adalah AzurePublic, AzureChina, AzureUsGovernment, dan AzureGermany. Secara default, pabrik data atau lingkungan cloud alur Synapse digunakan. |
No |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. | No |
Contoh: menggunakan autentikasi kunci perwakilan layanan
Anda juga dapat menyimpan kunci perwakilan layanan di Azure Key Vault.
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh: menggunakan autentikasi sertifikat perwakilan layanan
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalCredential": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<AKV reference>",
"type": "LinkedServiceReference"
},
"secretName": "<certificate name in AKV>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi identitas terkelola yang ditetapkan sistem
Pabrik data atau ruang kerja Synapse dapat dikaitkan dengan identitas terkelola yang ditugaskan sistem. Anda dapat langsung menggunakan identitas terkelola ini untuk autentikasi Data Lake Storage Gen2, sama seperti menggunakan perwakilan layanan Anda sendiri. Ini memungkinkan pabrik data atau ruang kerja yang ditunjuk ini mengakses dan menyalin data ke atau dari Data Lake Storage Gen2.
Untuk menggunakan autentikasi identitas terkelola, ikuti langkah-langkah berikut.
Ambil informasi identitas terkelola yang ditetapkan sistem dengan menyalin nilai ID objek identitas terkelola yang dihasilkan bersama dengan pabrik data atau ruang kerja Synapse Anda.
Berikan izin yang tepat untuk identitas terkelola yang ditetapkan sistem. Lihat contoh tentang cara kerja izin di Data Lake Storage Gen2 dari daftar kontrol Access pada file dan direktori.
- Sebagai sumber: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Baca untuk file yang akan disalin. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Reader.
- Sebagai sink: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Tulis untuk folder sink. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Contributor.
Properti ini didukung untuk layanan tertaut:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur ke AzureBlobFS. | Ya |
url | Titik akhir untuk Data Lake Storage Gen2 dengan pola https://<accountname>.dfs.core.windows.net . |
Ya |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. | No |
Contoh:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi identitas terkelola yang ditetapkan pengguna
Sebuah pabrik data dapat ditetapkan dengan satu atau beberapa identitas terkelola yang ditetapkan pengguna. Anda dapat menggunakan identitas terkelola yang ditetapkan pengguna ini untuk autentikasi penyimpanan Blob, yang mengizinkan mengakses dan menyalin data dari atau ke Data Lake Storage Gen2. Untuk mempelajari lebih lanjut tentang identitas terkelola untuk sumber daya Azure, lihat Identitas terkelola untuk sumber daya Azure
Untuk menggunakan autentikasi identitas terkelola yang ditetapkan pengguna, ikuti langkah-langkah berikut:
Buat satu atau beberapa identitas terkelola yang ditetapkan pengguna dan berikan akses ke Azure Data Lake Storage Gen2. Lihat contoh tentang cara kerja izin di Data Lake Storage Gen2 dari daftar kontrol Access pada file dan direktori.
- Sebagai sumber: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Baca untuk file yang akan disalin. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Reader.
- Sebagai sink: Pada Penjelajah Penyimpanan, berikan setidaknya izin Eksekusi untuk SEMUA folder upstream dan sistem file, bersama dengan izin Tulis untuk folder sink. Atau, dalam kontrol Access (IAM), berikan setidaknya peran Storage Blob Data Contributor.
Tetapkan satu atau beberapa identitas terkelola yang ditetapkan pengguna ke pabrik data Anda dan buat info masuk untuk setiap identitas terkelola yang ditetapkan pengguna.
Properti ini didukung untuk layanan tertaut:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur ke AzureBlobFS. | Ya |
url | Titik akhir untuk Data Lake Storage Gen2 dengan pola https://<accountname>.dfs.core.windows.net . |
Ya |
informasi masuk | Tentukan identitas terkelola yang ditetapkan pengguna sebagai objek kredensial. | Ya |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. | No |
Contoh:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Catatan
Jika Anda menggunakan UI Data Factory untuk pembuat dan identitas terkelola tidak diatur dengan peran "Storage Blob Data Reader/Contributor" di IAM, saat melakukan koneksi pengujian atau browsing/menavigasi folder, pilih "Pengujian koneksi ke jalur file" atau "Telusuri dari jalur yang ditentukan", dan tentukan jalur dengan izin Baca + Eksekusi untuk melanjutkan.
Penting
Jika Anda menggunakan pernyataan PolyBase atau COPY untuk memuat data dari Data Lake Storage Gen2 ke Azure Synapse Analytics, saat Anda menggunakan autentikasi identitas terkelola untuk Data Lake Storage Gen2, pastikan Anda juga mengikuti langkah 1 hingga 3 dalam panduan ini. Langkah-langkah tersebut akan mendaftarkan server Anda dengan ID Microsoft Entra dan menetapkan peran Kontributor Data Blob Penyimpanan ke server Anda. Data Factory menangani sisanya. Jika Anda mengonfigurasi penyimpanan Blob dengan titik akhir Azure Virtual Network, Anda juga harus mengaktifkan Izinkan layanan Microsoft tepercaya untuk mengakses akun penyimpanan ini di menu setelan akun Azure Storage Firewalls dan Virtual networks seperti yang diperlukan oleh Azure Synapse.
Properti himpunan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat Himpunan data.
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks terpisah
- Format Excel
- Format Gunung Es
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Properti berikut ini didukung untuk Data Lake Storage Gen2 di location
bawah pengaturan dalam himpunan data berbasis format:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis di bawah location dalam himpunan data harus diatur ke AzureBlobFSLocation. |
Ya |
fileSystem | Nama sistem file Data Lake Storage Gen2. | No |
folderPath | Jalur ke folder di bawah sistem berkas yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter folder, lewati pengaturan ini dan tentukan dalam pengaturan sumber aktivitas. | No |
fileName | Nama file di bawah fileSystem + folderPath yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter file, lewati pengaturan ini dan tentukan dalam pengaturan sumber aktivitas. | No |
Contoh:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileSystem": "filesystemname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Konfigurasi aktivitas penyalinan dan alur dan aktivitas. Bagian ini memberikan daftar properti yang didukung oleh sumber dan sink Data Lake Storage Gen2.
Azure Data Lake Storage Gen2 sebagai jenis sumber
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks terpisah
- Format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Anda memiliki beberapa opsi untuk menyalin data dari ADLS Gen2:
- Salin dari jalur yang ditentukan dalam himpunan data.
- Filter kartubebas terhadap jalur folder atau nama file, lihat
wildcardFolderPath
danwildcardFileName
. - Salin file yang ditentukan dalam file teks tertentu sebagai himpunan file, lihat
fileListPath
.
Properti berikut ini didukung untuk Data Lake Storage Gen2 di bawah storeSettings
pengaturan di sumber penyalinan berbasis format:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis di bawah storeSettings harus diatur ke AzureBlobFSReadSettings. |
Ya |
Menemukan file yang akan disalin: | ||
OPSI 1: jalur statik |
Salin dari sistem berkas atau jalur folder/berkas yang ditentukan dalam himpunan data. Jika Anda ingin menyalin semua file dari sistem file/folder, tentukan juga wildcardFileName sebagai * . |
|
OPSI 2: kartubebas - wildcardFolderPath |
Jalur folder dengan karakter kartubebas di bawah sistem file yang diberikan dikonfigurasi dalam himpunan data untuk memfilter folder sumber. Kartubebas yang diizinkan adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk karakter escape jika nama folder Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file. |
No |
OPSI 2: kartubebas - wildcardFileName |
Nama file dengan karakter kartubebas di bawah sistem file yang diberikan + folderPath/wildcardFolderPath untuk memfilter file sumber. Kartubebas yang diizinkan adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk karakter escape jika nama file Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file. |
Ya |
OPSI 3: daftar file - fileListPath |
Mengindikasikan untuk menyalin set file yang diberikan. Arahkan ke file teks yang menyertakan daftar file yang ingin Anda salin, satu file per baris, yang merupakan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data. Saat menggunakan opsi ini, jangan menyebutkan nama file dalam himpunan data. Lihat contoh lainnya dalam Contoh daftar file. |
No |
Pengaturan tambahan: | ||
recursive | Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Perhatikan bahwa ketika rekursif diatur ke true dan sink adalah penyimpanan berbasis file, folder kosong atau subfolder tidak disalin atau dibuat di sink. Nilai yang diizinkan adalah true (default) dan false. Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath . |
No |
deleteFilesAfterCompletion | Menunjukkan apakah file biner akan dihapus dari penyimpanan sumber setelah berhasil pindah ke penyimpanan tujuan. Penghapusan file dilakukan per file, jadi ketika aktivitas salin gagal, Anda akan melihat beberapa file telah disalin ke tujuan dan dihapus dari sumbernya, sementara file yang lain masih berada di penyimpanan sumber. Properti ini hanya valid dalam skenario penyalinan file biner. Nilai default: false. |
No |
modifiedDatetimeStart | Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut lebih besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd . Waktu diterapkan ke zona waktu UTC dalam format "2018-12-01T05:00:00Z". Properti dapat berupa NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu akan dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath . |
No |
modifiedDatetimeEnd | Sama dengan atas. | No |
enablePartitionDiscovery | Untuk file yang dipartisi, tentukan apakah Anda akan memilah partisi dari jalur file dan menambahkannya sebagai kolom sumber tambahan. Nilai yang diperbolehkan adalah false (default) dan true. |
No |
partitionRootPath | Ketika penemuan partisi diaktifkan, tentukan jalur akar absolut untuk membaca folder yang dipartisi sebagai kolom data. Jika tidak ditentukan, secara default, - Ketika Anda menggunakan jalur file dalam himpunan data atau daftar file pada sumber, jalur akar partisi adalah jalur yang dikonfigurasi dalam himpunan data. - Ketika Anda menggunakan filter folder kartubebas, jalur akar partisi adalah sub-jalur sebelum kartubebas pertama. Misalnya, dengan asumsi Anda mengonfigurasi jalur dalam himpunan data sebagai "root/folder/year=2020/month=08/day=27": - Jika Anda menentukan jalur akar partisi sebagai "root/folder/year=2020", aktivitas salin akan menghasilkan dua kolom lagi month dan day dengan nilai masing-masing "08" dan "27", selain kolom di dalam file.- Jika jalur akar partisi tidak ditentukan, tidak ada kolom tambahan yang akan dihasilkan. |
No |
maxConcurrentConnections | Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | No |
Contoh:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureBlobFSReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Data Lake Storage Gen2 sebagai jenis sink
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks terpisah
- Format Gunung Es
- Format JSON
- Format ORC
- Format Parquet
Properti berikut ini didukung untuk Data Lake Storage Gen2 di bawah storeSettings
pengaturan di sink penyalinan berbasis format:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis di bawah storeSettings harus diatur ke AzureBlobFSWriteSettings. |
Ya |
copyBehavior | Menentukan perilaku salin saat sumber berupa file dari penyimpanan data berbasis file. Nilai yang diperbolehkan adalah: - (default) PreserveHierarchy: Mempertahankan hierarki file di folder target. Jalur relatif dari file sumber ke folder sumber sama dengan jalur relatif file target ke folder target. - FlattenHierarchy: Semua file dari folder sumber berada di tingkat pertama folder target. File target memiliki nama yang ditulis secara otomatis. - MergeFiles: Menggabungkan semua file dari folder sumber dalam satu file. Jika nama file ditentukan, nama file yang digabungkan adalah nama yang ditentukan. Jika tidak, nama tersebut adalah nama file yang ditulis secara otomatis. |
No |
blockSizeInMB | Tentukan ukuran blok dalam MB yang digunakan untuk menulis data ke ADLS Gen2. Pelajari lebih lanjut tentang Block Blobs. Nilai yang diizinkan adalah antara 4 MB dan 100 MB. Secara default, ADF secara otomatis menentukan ukuran blok berdasarkan jenis dan data penyimpanan sumber Anda. Untuk penyalinan non-biner ke dalam ADLS Gen2, ukuran blok default adalah 100 MB sehingga dapat memuat data dengan ukuran maksimal sekitar 4,75-TB. Mungkin tidak optimal ketika data Anda tidak besar, terutama ketika Anda menggunakan Runtime Integrasi yang Dihost Sendiri dengan jaringan yang buruk yang mengakibatkan batas waktu operasi atau masalah performa. Anda dapat secara eksplisit menentukan ukuran blok, sementara memastikan blockSizeInMB * 50000 cukup besar untuk menyimpan data, jika tidak, salin aktivitas yang dijalankan akan gagal. |
No |
maxConcurrentConnections | Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | No |
metadata | Set metadata khusus saat menyalin ke sink. Setiap objek di bawah metadata array mewakili kolom tambahan. name mendefinisikan nama kunci metadata, dan value menunjukkan nilai data dari kunci tersebut. Jika fitur pertahankan atribut digunakan, metadata yang ditentukan akan digabungkan/ditimpa dengan metadata file sumber.Nilai data yang diperbolehkan adalah: - $$LASTMODIFIED : variabel yang dicadangkan menunjukkan untuk menyimpan waktu modifikasi terakhir file sumber. Sebarkan ke sumber berbasis file dengan format biner saja.- Ekspresi - Nilai statis |
No |
Contoh:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
},
{
"name": "lastModifiedKey",
"value": "$$LASTMODIFIED"
}
]
}
}
}
}
]
Contoh filter folder dan file
Bagian ini menjelaskan perilaku yang dihasilkan dari jalur folder dan nama file dengan filter kartubebas.
folderPath | fileName | recursive | Struktur folder sumber dan hasil filter (file dalam huruf tebal diambil) |
---|---|---|---|
Folder* |
(Kosong, gunakan default) | salah | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(Kosong, gunakan default) | benar | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
salah | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
benar | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Contoh daftar file
Bagian ini menjelaskan perilaku yang dihasilkan dari penggunaan jalur daftar file di sumber aktivitas salin.
Dengan asumsi Anda memiliki struktur folder sumber berikut dan ingin menyalin file dengan bold:
Struktur sumber sampel | Konten dalam FileListToCopy.txt | Konfigurasi ADF |
---|---|---|
filesystem FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv Metadata FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
Dalam himpunan data: - Sistem file: filesystem - Jalur folder: FolderA Di sumber aktivitas salin: - Jalur daftar file: filesystem/Metadata/FileListToCopy.txt Jalur daftar file mengarah ke file teks di penyimpanan data yang sama yang menyertakan daftar file yang ingin Anda salin, satu file per baris dengan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data. |
Beberapa contoh rekursif dan copyBehavior
Bagian ini menjelaskan perilaku yang dihasilkan dari operasi salin untuk kombinasi yang berbeda dari nilai recursive dan copyBehavior.
recursive | copyBehavior | Struktur folder sumber | Target yang dihasilkan |
---|---|---|---|
benar | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur yang sama dengan sumbernya: Folder1 File1 File2 Subfolder1 File3 File4 File5 |
benar | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur berikut: Folder1 nama yang ditulis secara otomatis untuk File1 nama yang ditulis secara otomatis untuk File2 nama yang ditulis secara otomatis untuk File3 nama yang ditulis secara otomatis untuk File4 nama yang ditulis secara otomatis untuk File5 |
benar | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur berikut: Folder1 konten File1 + File2 + File3 + File4 + File5 digabungkan ke dalam satu file, dengan nama file yang ditulis secara otomatis. |
salah | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur berikut: Folder1 File1 File2 Subfolder1 dengan File3, File4, dan File5 tidak diambil. |
salah | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur berikut: Folder1 nama yang ditulis secara otomatis untuk File1 nama yang ditulis secara otomatis untuk File2 Subfolder1 dengan File3, File4, dan File5 tidak diambil. |
salah | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Target Folder1 dibuat dengan struktur berikut: Folder1 konten File1 + File2 digabungkan ke dalam satu file, dengan nama file yang ditulis secara otomatis. nama yang ditulis secara otomatis untuk File1 Subfolder1 dengan File3, File4, dan File5 tidak diambil. |
Mempertahankan metadata selama penyalinan
Saat menyalin file dari Amazon S3/Azure Blob/Azure Data Lake Storage Gen2 ke Azure Data Lake Storage Gen2/Azure Blob, Anda dapat memilih untuk mempertahankan metadata file bersama dengan data. Pelajari lebih lanjut dari Mempertahankan metadata.
Mempertahankan ACL dari Data Lake Storage Gen1/Gen2
Saat menyalin file dari Azure Data Lake Storage Gen1/Gen2 ke Gen2, Anda dapat memilih untuk mempertahankan daftar kontrol akses (ACL) POSIX bersama dengan data. Pelajari lebih lanjut dari Mempertahankan ACL dari Data Lake Storage Gen1/Gen2 hingga Gen2.
Tip
Untuk menyalin data dari Azure Data Lake Storage Gen1 ke Gen2 secara umum, lihat Menyalin data dari Azure Data Lake Storage Gen1 ke Gen2 untuk panduan dan praktik terbaik.
Properti pemetaan aliran data
Saat Anda mengubah data dalam aliran data pemetaan, Anda bisa membaca dan menulis file dari Azure Data Lake Storage Gen2 dalam format berikut:
Pengaturan format-spesifik terletak di dokumentasi untuk format tersebut. Untuk informasi selengkapnya, lihat Transformasi sumber dalam pemetaan aliran data dan Transformasi sink dalam pemetaan aliran data.
Transformasi sumber
Dalam transformasi sumber, Anda dapat membaca dari file kontainer, folder, atau individual di Azure Data Lake Storage Gen2. Tab Opsi sumber memungkinkan Anda mengelola cara file dibaca.
Jalur kartubebas: Menggunakan pola kartubebas akan menginstruksikan ADF untuk mengulang setiap folder dan file yang cocok dengan pola dalam satu transformasi Sumber. Cara ini efektif untuk memproses beberapa file dalam satu aliran. Tambahkan beberapa pola kartubebas yang cocok dengan tanda + yang muncul saat Anda mengarahkan kursor ke pola kartubebas yang ada.
Dari kontainer sumber Anda, pilih serangkaian file yang cocok dengan satu pola. Hanya kontainer yang dapat ditentukan dalam himpunan data. Oleh karena itu, jalur kartubebas Anda juga harus menyertakan jalur folder Anda dari folder akar.
Contoh kartubebas:
*
Mewakili sekumpulan karakter**
Mewakili nesting direktori recursive?
Menggantikan satu karakter[]
Mencocokkan salah satu karakter lainnya dalam tanda kurung/data/sales/**/*.csv
Mendapatkan semua file csv di bawah /data/sales/data/sales/20??/**/
Mendapatkan semua file di abad ke-20/data/sales/*/*/*.csv
Mendapatkan file csv dua tingkat di bawah /data/sales/data/sales/2004/*/12/[XY]1?.csv
Mendapatkan semua file csv pada tahun 2004 pada bulan Desember dimulai dengan X atau Y di awali dengan angka dua digit
Jalur Akar Partisi: Jika Anda memiliki folder yang dipartisi di sumber file Anda dengan format key=value
(misalnya, year=2019), maka Anda dapat menetapkan tingkat atas pohon folder partisi tersebut menjadi nama kolom di aliran stream data Anda.
Pertama, atur kartubebas untuk menyertakan semua jalur yang merupakan folder yang dipartisi ditambah file daun yang ingin Anda baca.
Gunakan pengaturan Jalur Akar Partisi untuk menentukan tingkat atas struktur folder. Saat Melihat konten data melalui pratinjau data, Anda akan melihat bahwa ADF akan menambahkan partisi yang terselesaikan yang ditemukan di setiap tingkat folder Anda.
Daftar berkas: Daftar ini adalah set file. Buat file teks yang menyertakan daftar file jalur relatif untuk diproses. Arahkan ke file teks ini.
Kolom untuk menyimpan nama file: Simpan nama file sumber dalam kolom di data Anda. Masukkan nama kolom baru di sini untuk menyimpan untai (karakter) nama file.
Setelah selesai: Pilih untuk tidak melakukan apa pun pada file sumber setelah aliran data berjalan, menghapus file sumber, atau memindahkan file sumber. Jalur untuk perpindahan bersifat relatif.
Untuk memindahkan file sumber ke lokasi lain pasca-pemrosesan, pertama-tama pilih "Pindahkan" untuk operasi file. Kemudian, atur direktori "dari". Jika Anda tidak menggunakan kartubebas untuk jalur Anda, pengaturan "dari" akan menjadi folder yang sama dengan folder sumber Anda.
Jika Anda memiliki jalur sumber dengan kartubebas, sintaks Anda akan terlihat seperti ini di bawah ini:
/data/sales/20??/**/*.csv
Anda dapat menentukan "dari" sebagai
/data/sales
Dan "untuk" sebagai
/backup/priorSales
Dalam hal ini, semua file yang bersumber di bawah /data/sales dipindahkan ke /backup/priorSales.
Catatan
Operasi file hanya berjalan ketika Anda memulai aliran data dari eksekusi alur (debug alur atau eksekusi alur) yang menggunakan aktivitas Jalankan Aliran Data dalam alur. Operasi file tidak berjalan dalam mode debug Aliran Data.
Filter berdasarkan terakhir diubah: Anda dapat memfilter file mana yang Anda proses dengan menentukan rentang tanggal file terakhir diubah. Semua waktu dalam format UTC.
Aktifkan ubah pengambilan data: Jika true, Anda akan mendapatkan file baru atau yang diubah hanya dari eksekusi terakhir. Beban awal data snapshot penuh akan selalu didapat pada operasi pertama, diikuti dengan mengambil file baru atau yang diubah hanya dalam operasi berikutnya. Untuk detail selengkapnya, lihat Mengubah pengambilan data.
Properti sink
Dalam transformasi sink, Anda dapat menulis ke kontainer atau folder di Azure Data Lake Storage Gen2. Tab Pengaturan memungkinkan Anda mengelola cara file ditulis.
Bersihkan folder: Menentukan apakah folder tujuan akan dihapus atau tidak sebelum data ditulis.
Opsi nama file: Menentukan bagaimana file tujuan dinamai dalam folder tujuan. Opsi nama file adalah:
- Default: Izinkan Spark untuk memberi nama file berdasarkan default PART.
- Pola: Masukkan pola yang menghitung file output Anda per partisi. Misalnya, loans[n].csv akan menciptakan loans1.csv, loans2.csv, dan sebagainya.
- Per partisi: Masukkan satu nama file per partisi.
- Sebagai data dalam kolom: Atur file output menjadi nilai kolom. Jalur terhadap himpunan data relatif, namun tidak pada folder tujuan. Jika Anda memiliki jalur folder di himpunan data, jalur tersebut akan ditimpa.
- Output ke file tunggal: Gabungkan file output yang dipartisi ke dalam file dengan nama tunggal. Jalur bersifat relatif terhadap folder himpunan data. Perlu diketahui bahwa operasi penggabungan memiliki kemungkinan untuk gagal berdasarkan ukuran node. Opsi ini tidak disarankan untuk himpunan data besar.
Kuotasi semua: Menentukan apakah Anda akan menyertakan semua nilai dalam tanda kutip
umask
Anda dapat mengatur umask
untuk file secara opsional menggunakan POSIX baca, tulis, jalankan bendera untuk pemilik, pengguna, dan grup.
Perintah pra-pemrosesan dan pasca-pemrosesan
Anda dapat secara opsional menjalankan perintah sistem file Hadoop sebelum atau sesudah menulis ke sink ADLS Gen2. Perintah berikut ini didukung:
cp
mv
rm
mkdir
Contoh:
mkdir /folder1
mkdir -p folder1
mv /folder1/*.* /folder2/
cp /folder1/file1.txt /folder2
rm -r /folder1
Parameter juga didukung melalui pembangun ekspresi, misalnya:
mkdir -p {$tempPath}/commands/c1/c2
mv {$tempPath}/commands/*.* {$tempPath}/commands/c1/c2
Secara default, folder dibuat sebagai pengguna/root. Lihat kontainer tingkat atas dengan ‘/’.
Properti aktivitas pencarian
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Properti aktivitas GetMetadata
Untuk mempelajari rincian tentang properti ini, periksa Aktivitas GetMetadata
Properti aktivitas penghapusan
Untuk mempelajari rincian tentang properti ini, periksa Aktivitas penghapusan
Model warisan
Catatan
Model berikut ini masih didukung apa adanya untuk kompatibilitas mundur. Anda disarankan untuk selanjutnya menggunakan model baru yang disebutkan di bagian sebelumnya, dan antarmuka pengguna penulisan Azure Data Factory telah beralih untuk menghasilkan model baru.
Model himpunan data warisan
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis himpunan data harus diatur ke AzureBlobFSFile. | Ya |
folderPath | Jalur ke folder di Data Lake Storage Gen2. Jika tidak ditentukan, jalur mengarah ke akar. Filter kartubebas didukung. Kartubebas yang diizinkan adalah * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan nol atau satu karakter). Gunakan ^ untuk escape jika nama folder asli Anda memiliki karakter kartubebas atau char escape di dalamnya. Contoh: filesystem/folder/. Lihat contoh lainnya dalam Contoh filter folder dan file. |
No |
fileName | Nama atau filter kartubebas untuk file di bawah "folderPath" yang ditentukan. Jika Anda tidak menentukan nilai untuk properti ini, himpunan data akan menunjuk ke semua file dalam folder. Kartubebas yang diizinkan untuk filter adalah * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan nol atau satu karakter).- Contoh 1: "fileName": "*.csv" - Contoh 2: "fileName": "???20180427.txt" Gunakan ^ untuk escape jika nama file asli Anda memiliki karakter kartubebas atau char escape di dalamnya.Ketika fileName tidak ditentukan untuk himpunan data output dan preserveHierarchy tidak ditentukan dalam sink aktivitas, aktivitas salin secara otomatis menghasilkan nama file dengan pola berikut:"Data.[ID GUID aktivitas yang berjalan].[GUID jika FlattenHierarchy].[format jika dikonfigurasi].[kompresi jika dikonfigurasi]", misalnya, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Jika Anda menyalin dari sumber tabular menggunakan nama tabel, bukan kueri, pola nama adalah "[nama tabel].[ format]. [kompresi jika dikonfigurasi]", misalnya, "MyTable.csv". |
No |
modifiedDatetimeStart | Filter file berdasarkan atribut Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd . Waktu diterapkan ke zona waktu UTC dalam format “2018-12-01T05:00:00Z”. Performa keseluruhan pergerakan data terpengaruh dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dengan file jumlah besar. Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd adalah NULL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart adalah NULL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih kecil dari nilai tanggalwaktu yang dipilih. |
No |
modifiedDatetimeEnd | Filter file berdasarkan atribut Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd . Waktu diterapkan ke zona waktu UTC dalam format “2018-12-01T05:00:00Z”. Performa keseluruhan pergerakan data terpengaruh dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dengan file jumlah besar. Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd adalah NULL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart adalah NULL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih kecil dari nilai tanggalwaktu yang dipilih. |
No |
format | Jika Anda ingin menyalin file sebagaimana adanya antara penyimpanan berbasis file (salinan biner), lewati bagian format di definisi data input dan output. Jika Anda ingin memilah atau membuat file dengan format tertentu, jenis format file berikut didukung: TextFormat, JsonFormat, AvroFormat, OrcFormat, dan ParquetFormat. Atur properti jenis berdasarkan format ke salah satu nilai ini. Untuk informasi selengkapnya, lihat bagian Format Teks, Format JSON, Format Avro, Format ORC, dan Format Parquet. |
Tidak (hanya untuk skenario salinan biner) |
kompresi | Tentukan jenis dan tingkat kompresi untuk data. Untuk informasi selengkapnya, lihat Format file yang didukung dan kodek pemadatan. Jenis yang didukung adalah **GZip**, **Deflate**, **BZip2**, and **ZipDeflate** .Level yang didukung adalah: Optimal dan Tercepat. |
No |
Tip
Untuk menyalin semua file di sebuah folder, tentukan folderPath saja.
Untuk menyalin satu file dengan nama tertentu, tentukan folderPath dengan bagian folder dan fileName dengan nama file.
Untuk menyalin subset file di sebuah folder, tentukan folderPath dengan bagian folder dan fileName dengan filter kartubebas.
Contoh:
{
"name": "ADLSGen2Dataset",
"properties": {
"type": "AzureBlobFSFile",
"linkedServiceName": {
"referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "myfilesystem/myfolder",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Model sumber aktivitas salin warisan
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis sumber aktivitas penyalinan harus diatur ke AzureBlobFSSource. | Ya |
recursive | Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Ketika rekursif diatur menjadi true dan sink-nya adalah penyimpanan berbasis file, folder atau subfolder kosong tidak disalin atau dibuat di sink. Nilai yang diizinkan adalah true (default) dan false. |
No |
maxConcurrentConnections | Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | No |
Contoh:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<ADLS Gen2 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureBlobFSSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Model sink aktivitas salin warisan
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis sink aktivitas penyalinan harus diatur ke AzureBlobFSSink. | Ya |
copyBehavior | Menentukan perilaku salin saat sumber berupa file dari penyimpanan data berbasis file. Nilai yang diperbolehkan adalah: - (default) PreserveHierarchy: Mempertahankan hierarki file di folder target. Jalur relatif dari file sumber ke folder sumber sama dengan jalur relatif file target ke folder target. - FlattenHierarchy: Semua file dari folder sumber berada di tingkat pertama folder target. File target memiliki nama yang ditulis secara otomatis. - MergeFiles: Menggabungkan semua file dari folder sumber dalam satu file. Jika nama file ditentukan, nama file yang digabungkan adalah nama yang ditentukan. Jika tidak, nama tersebut adalah nama file yang ditulis secara otomatis. |
No |
maxConcurrentConnections | Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | No |
Contoh:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ADLS Gen2 output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "AzureBlobFSSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
Mengubah pengambilan data
Azure Data Factory bisa mendapatkan file baru atau yang diubah hanya dari Azure Data Lake Storage Gen2 dengan mengaktifkan Aktifkan ubah pengambilan data dalam pemetaan transformasi sumber aliran data. Dengan opsi konektor ini, Anda hanya dapat membaca file baru atau yang diperbarui dan menerapkan transformasi sebelum memuat data yang diubah ke dalam himpunan data tujuan pilihan Anda.
Pastikan Anda menjaga alur dan nama aktivitas tidak berubah, sehingga titik pemeriksaan selalu dapat direkam dari eksekusi terakhir untuk mendapatkan perubahan dari sana. Jika Anda mengubah nama alur atau nama aktivitas, titik pemeriksaan akan diatur ulang, dan Anda akan mulai dari awal pada eksekusi berikutnya.
Saat Anda mendebug alur, Aktifkan ubah pengambilan data juga berfungsi dengan baik. Ketahuilah bahwa pos pemeriksaan akan diatur ulang saat Anda menyegarkan browser selama eksekusi debug. Setelah puas dengan hasil dari eksekusi debug, Anda dapat memublikasikan dan memicu alur. Langkah ini akan selalu dimulai dari awal terlepas dari pos pemeriksaan sebelumnya yang direkam oleh eksekusi debug.
Di bagian pemantauan, Anda selalu memiliki kesempatan untuk menjalankan kembali alur. Saat Anda melakukannya, perubahan selalu didapat dari baris tiitk pemeriksaan di jalur eksekusi alur yang Anda pilih.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat Penyimpanan data yang didukung.