Menyalin data dari HDFS menggunakan Azure Data Factory atau 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!

Artikel ini menguraikan cara menyalin data dari server Hadoop Distributed File System (HDFS). Untuk mempelajari selengkapnya, baca artikel pengantar untuk Azure Data Factory dan Synapse Analytics.

Kemampuan yang didukung

Konektor HDFS ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Aktivitas pencarian ① ②
Aktivitas penghapusan ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Secara khusus, konektor HDFS mendukung:

  • Menyalin file menggunakan Windows (Kerberos) atau autentikasi Anonim.
  • Menyalin file menggunakan protokol webhdfs atau dukungan DistCp bawaan.
  • Menyalin file apa adanya atau dengan memilah atau membuat file menggunakan format file dan codec pemadatan yang didukung.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Catatan

Pastikan bahwa runtime integrasi dapat mengakses semua [nama server node]:[nama port node] dan [data server node]:[data port node] dari kluster Hadoop. Default [nama port node] adalah 50070, dan default [data port node] adalah 50075.

Mulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke HDFS menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke HDFS di UI portal Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari HDFS dan pilih konektor HDFS.

    Select the HDFS connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Configure a linked service to HDFS.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk HDFS.

Properti layanan tertaut

Properti berikut didukung untuk layanan tertaut HDFS:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur menjadi Hdfs. Ya
url URL ke HDFS Ya
authenticationType Nilai yang diperbolehkan adalah Anonim atau Windows.

Untuk menyiapkan lingkungan lokal Anda, lihat bagian Gunakan autentikasi Kerberos untuk konektor HDFS.
Ya
userName Nama pengguna untuk autentikasi Windows. Untuk autentikasi Kerberos, tentukan <nama pengguna>@<domain>.com. Ya (untuk Autentikasi Windows)
kata sandi Kata sandi untuk autentikasi Windows. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di brankas kunci Azure. Ya (untuk Autentikasi Windows)
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Untuk mempelajari selengkapnya, lihat bagian Prasyarat. Jika runtime integrasi tidak ditentukan, layanan akan menggunakan Integration Runtime Azure default. No

Contoh: menggunakan autentikasi Anonim

{
    "name": "HDFSLinkedService",
    "properties": {
        "type": "Hdfs",
        "typeProperties": {
            "url" : "http://<machine>:50070/webhdfs/v1/",
            "authenticationType": "Anonymous",
            "userName": "hadoop"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: menggunakan autentikasi Windows

{
    "name": "HDFSLinkedService",
    "properties": {
        "type": "Hdfs",
        "typeProperties": {
            "url" : "http://<machine>:50070/webhdfs/v1/",
            "authenticationType": "Windows",
            "userName": "<username>@<domain>.com (for Kerberos auth)",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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.

Properti berikut ini didukung untuk HDFS di bawah pengaturan location dalam himpunan data berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah location dalam himpunan data harus diatur menjadi HdfsLocation. Ya
folderPath Jalur ke folder. Jika Anda ingin menggunakan kartubebas untuk memfilter folder, lewati pengaturan ini dan tentukan jalur dalam pengaturan sumber aktivitas. No
fileName Nama file di bawah folderPath yang ditentukan. Jika Anda ingin menggunakan kartubebas untuk memfilter file, lewati pengaturan ini dan tentukan nama file dalam pengaturan sumber aktivitas. No

Contoh:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<HDFS linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "HdfsLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Alur dan aktivitas. Bagian ini menyediakan daftar properti yang didukung oleh sumber HDFS.

HDFS sebagai sumber

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Properti berikut ini didukung untuk HDFS di bawah pengaturan storeSettings dalam sumber Salinan berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah storeSettings harus diatur menjadi HdfsReadSettings. Ya
Menemukan file yang akan disalin
OPSI 1: jalur statik
Salin dari jalur folder atau file yang ditentukan dalam himpunan data. Jika Anda ingin menyalin semua file dari folder, tentukan juga wildcardFileName sebagai *.
OPSI 2: kartubebas
- wildcardFolderPath
Jalur folder dengan karakter kartubebas untuk memfilter folder sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu). Gunakan ^ untuk meloloskan jika nama folder asli Anda memiliki kartubebas atau karakter escape di dalamnya.
Untuk contoh lainnya, lihat Contoh filter folder dan file.
No
OPSI 2: kartubebas
- wildcardFileName
Nama file dengan kartubebas di bawah folderPath/wildcardFolderPath yang ditentukan untuk memfilter file sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan karakter nol atau lebih) dan ? (cocok dengan karakter nol atau tunggal); gunakan ^ untuk meloloskan jika nama file Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya. Untuk contoh lainnya, lihat Contoh filter folder dan file.
Ya
OPSI 3: daftar file
- fileListPath
Mengindikasikan untuk menyalin set file yang ditentukan. Arahkan ke file teks yang menyertakan daftar file yang ingin Anda salin (satu file per baris, dengan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data).
Saat Anda menggunakan opsi ini, jangan tentukan nama file di himpunan data. Untuk contoh selengkapnya, lihat Contoh daftar file.
No
Pengaturan tambahan
recursive Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Ketika recursive diatur menjadi true dan sink adalah penyimpanan berbasis file, folder kosong atau subfolder tidak disalin maupun 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 File difilter berdasarkan atribut Terakhir Diubah.
File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktunya diterapkan ke zona waktu UTC dalam format 2018-12-01T05:00:00Z.
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, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih besar dari atau sama dengan nilai tanggalwaktu. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart adalah NULL, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih kecil dari nilai tanggalwaktu.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
No
modifiedDatetimeEnd Sama dengan atas.
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
Setelan DistCp
distcpSettings Grup properti yang digunakan saat Anda menggunakan HDFS DistCp. No
resourceManagerEndpoint Titik akhir YARN (Yet Another Resource Negotiator) Ya, jika menggunakan DistCp
tempScriptPath Jalur folder yang digunakan untuk menyimpan skrip perintah DistCp sementara. File skrip dihasilkan dan akan dihapus setelah tugas Penyalinan selesai. Ya, jika menggunakan DistCp
distcpOptions Opsi tambahan yang disediakan untuk perintah DistCp. No

Contoh:

"activities":[
    {
        "name": "CopyFromHDFS",
        "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": "HdfsReadSettings",
                    "recursive": true,
                    "distcpSettings": {
                        "resourceManagerEndpoint": "resourcemanagerendpoint:8088",
                        "tempScriptPath": "/usr/hadoop/tempscript",
                        "distcpOptions": "-m 100"
                    }
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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 merupakan hasil dari menggunakan jalur daftar file di sumber aktivitas Salin. Hal ini mengasumsikan bahwa Anda memiliki struktur folder sumber berikut dan ingin menyalin file dalam huruf tebal:

Struktur sumber sampel Konten dalam FileListToCopy.txt Konfigurasi
akar
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
Di himpunan data:
- Jalur folder: root/FolderA

Di sumber aktivitas Salin:
- Jalur daftar file: root/Metadata/FileListToCopy.txt

Jalur daftar file menunjuk 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).

Menggunakan DistCp untuk menyalin data dari HDFS

DistCp adalah alat baris perintah asli Hadoop untuk membuat salinan terdistribusi dalam kluster Hadoop. Ketika Anda menjalankan perintah di DistCp, pertama-tama perintah akan membuat daftar dari semua file yang akan disalin kemudian membuat beberapa pekerjaan Peta di kluster Hadoop. Setiap pekerjaan Peta membuat salinan biner dari sumber ke sink.

Aktivitas Salin mendukung penggunaan DistCp untuk menyalin file sebagaimana adanya di penyimpanan Azure Blob (termasuk salinan bertahap) atau penyimpanan data lake Azure. Dalam hal ini, DistCp dapat memanfaatkan daya kluster Anda alih-alih berjalan pada runtime integrasi yang dihost sendiri. Menggunakan DistCp memberikan throughput salinan yang lebih baik, terutama jika kluster Anda sangat kuat. Berdasarkan konfigurasi di pabrik data Anda, aktivitas Penyalinan secara otomatis membuat perintah DistCp, kirimkan ke kluster Hadoop Anda, dan pantau status salinan.

Prasyarat

Untuk menggunakan DistCp untuk menyalin file sebagaimana adanya dari HDFS ke penyimpanan Azure Blob (termasuk salinan bertahap) atau penyimpanan data lake Azure, pastikan kluster Hadoop Anda memenuhi persyaratan berikut:

  • Layanan MapReduce dan YARN diaktifkan.

  • Versi YARN adalah 2.5 atau yang lebih baru.

  • Server HDFS terintegrasi dengan penyimpanan data target Anda: Penyimpanan Azure Blob atau Azure Data Lake Store (ADLS Gen1):

    • Azure Blob FileSystem sudah didukung sejak Hadoop 2.7. Anda hanya perlu menentukan jalur JAR di konfigurasi lingkungan Hadoop.
    • Azure Data Lake Store FileSystem dikemas mulai dari Hadoop 3.0.0-alpha1. Jika versi kluster Hadoop Anda lebih lama dari versi tersebut, Anda perlu mengimpor paket JAR terkait Azure Data Lake Store secara manual (azure-datalake-store.jar) ke dalam kluster dari sini, dan menentukan jalur file JAR di konfigurasi lingkungan Hadoop.
  • Siapkan folder sementara di HDFS. Folder sementara ini digunakan untuk menyimpan skrip shell DistCp, sehingga akan menempati ruang tingkat KB.

  • Pastikan bahwa akun pengguna yang disediakan dalam layanan tertaut HDFS memiliki izin untuk:

    • Mengirimkan aplikasi dalam YARN.
    • Membuat subfolder dan membaca/menulis file di bawah folder sementara.

Konfigurasi

Untuk konfigurasi dan contoh terkait DistCp, buka bagian HDFS sebagai sumber.

Gunakan autentikasi Kerberos untuk konektor HDFS

Ada dua opsi untuk mengatur lingkungan lokal ketika menggunakan autentikasi Kerberos untuk konektor HDFS. Anda dapat memilih salah satu yang lebih sesuai dengan situasi Anda.

Untuk opsi mana pun, pastikan Anda mengaktifkan webhdf untuk kluster Hadoop:

  1. Buat prinsipal HTTP dan keytab untuk webhdfs.

    Penting

    Prinsipal HTTP Kerberos harus dimulai dengan "HTTP /" sesuai dengan spesifikasi Kerberos HTTP SPNEGO. Pelajari selengkapnya dari sini.

    Kadmin> addprinc -randkey HTTP/<namenode hostname>@<REALM.COM>
    Kadmin> ktadd -k /etc/security/keytab/spnego.service.keytab HTTP/<namenode hostname>@<REALM.COM>
    
  2. Opsi konfigurasi HDFS: tambahkan tiga properti berikut dalam hdfs-site.xml.

    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.web.authentication.kerberos.principal</name>
        <value>HTTP/_HOST@<REALM.COM></value>
    </property>
    <property>
        <name>dfs.web.authentication.kerberos.keytab</name>
        <value>/etc/security/keytab/spnego.service.keytab</value>
    </property>
    

Opsi 1: Bergabung dengan mesin runtime integrasi yang dihost sendiri di realm Kerberos

Persyaratan

  • Mesin runtime integrasi yang dihost sendiri perlu bergabung dengan realm Kerberos dan tidak dapat bergabung dengan domain Windows apa pun.

Cara mengonfigurasi

Pada server KDC:

Buat utamanya, dan tentukan kata sandinya.

Penting

Nama pengguna tidak boleh berisi nama host.

Kadmin> addprinc <username>@<REALM.COM>

Pada mesin runtime integrasi yang dihost sendiri:

  1. Jalankan utilitas Ksetup untuk mengonfigurasi server dan realm Kerberos Key Distribution Center (KDC).

    Mesin harus dikonfigurasi sebagai anggota grup kerja, karena realm Kerberos berbeda dari domain Windows. Anda dapat mencapai konfigurasi ini dengan mengatur realm Kerberos dan menambahkan server KDC dengan menjalankan perintah berikut. Ganti REALM.COM dengan nama realm Anda sendiri.

    C:> Ksetup /setdomain REALM.COM
    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    

    Setelah Anda menjalankan perintah ini, mulai ulang mesin.

  2. Verifikasi konfigurasi dengan perintah Ksetup. Output akan terlihat seperti:

    C:> Ksetup
    default realm = REALM.COM (external)
    REALM.com:
        kdc = <your_kdc_server_address>
    

Di pabrik data atau ruang kerja Synapse Anda:

  • Konfigurasikan konektor HDFS menggunakan autentikasi Windows bersama-sama dengan nama dan kata sandi prinsipal Kerberos Anda untuk menyambungkan ke sumber data HDFS. Untuk detail konfigurasi, periksa bagian properti layanan tertaut HDFS.

Opsi 2: Mengaktifkan kepercayaan timbal balik antara domain Windows dan realm Kerberos

Persyaratan

  • Mesin runtime integrasi yang dihost sendiri harus bergabung dengan domain Windows.
  • Anda memerlukan izin untuk memperbarui pengaturan pengendali domain.

Cara mengonfigurasi

Catatan

Ganti REALM.COM dan AD.COM dalam tutorial berikut dengan nama realm dan pengendali domain milik Anda.

Pada server KDC:

  1. Edit konfigurasi KDC dalam file krb5.conf agar KDC dapat mempercayai domain Windows dengan merujuk ke templat konfigurasi berikut. Secara default, konfigurasi terletak di /etc/krb5.conf.

    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = REALM.COM
     dns_lookup_realm = false
     dns_lookup_kdc = false
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
    
    [realms]
     REALM.COM = {
      kdc = node.REALM.COM
      admin_server = node.REALM.COM
     }
    AD.COM = {
     kdc = windc.ad.com
     admin_server = windc.ad.com
    }
    
    [domain_realm]
     .REALM.COM = REALM.COM
     REALM.COM = REALM.COM
     .ad.com = AD.COM
     ad.com = AD.COM
    
    [capaths]
     AD.COM = {
      REALM.COM = .
     }
    

    Setelah mengonfigurasi file, mulai ulang layanan KDC.

  2. Siapkan prinsipal bernama krbtgt/REALM.COM@AD.COM di server KDC dengan perintah berikut:

    Kadmin> addprinc krbtgt/REALM.COM@AD.COM
    
  3. Dalam hadoop.security.auth_to_local file konfigurasi layanan HDFS, tambahkan RULE:[1:$1@$0](.*\@AD.COM)s/\@.*//.

Di pengendali domain:

  1. Jalankan perintah Ksetup berikut untuk menambahkan entri realm:

    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
    
  2. Membangun kepercayaan dari domain Windows ke realm Kerberos. [kata sandi] adalah kata sandi untuk krbtgt/REALM.COM@AD.COM prinsipal.

    C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]
    
  3. Pilih algoritma enkripsi yang digunakan di Kerberos.

    a. Pilih Manager Server>Manajemen Kebijakan Grup>Domain>Objek Kebijakan Grup>Kebijakan Domain Aktif atau Default, lalu pilih Edit.

    b. Pada panel Editor Manajemen Kebijakan Grup, pilih Konfigurasi Komputer>Kebijakan>Pengaturan Windows>Pengaturan Keamanan>Kebijakan Lokal>Opsi Keamanan, lalu konfigurasi Keamanan jaringan: Konfigurasikan jenis enkripsi yang diperbolehkan untuk Kerberos.

    c. Pilih algoritma enkripsi yang ingin Anda gunakan ketika Anda tersambung ke server KDC. Anda dapat memilih semua opsi.

    Screenshot of the "Network security: Configure encryption types allowed for Kerberos" pane

    d. Gunakan perintah Ksetup untuk menentukan algoritma enkripsi yang akan digunakan pada realm yang ditentukan.

    C:> ksetup /SetEncTypeAttr REALM.COM DES-CBC-CRC DES-CBC-MD5 RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
    
  4. Buat pemetaan antara akun domain dan prinsipal Kerberos, sehingga Anda bisa menggunakan prinsipal Kerberos di domain Windows.

    a. Pilih Alat administratif>Pengguna Direktori Aktif dan Komputer.

    b. Mengonfigurasi fitur tingkat lanjut dengan memilih Tampilkan>Fitur Tingkat Lanjut.

    c. Pada panel Fitur Tingkat Lanjut, klik kanan akun yang ingin Anda buat pemetaannya dan, pada panel Pemetaan Nama, pilih tab Nama Kerberos.

    d. Tambahkan prinsipal dari realm.

    Screenshot of the "Security Identity Mapping" pane

Pada mesin runtime integrasi yang dihost sendiri:

  • Jalankan perintah Ksetup berikut untuk menambahkan entri realm.

    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
    

Di pabrik data atau ruang kerja Synapse Anda:

  • Konfigurasikan konektor HDFS menggunakan autentikasi Windows bersama-sama dengan akun domain atau prinsipal Kerberos Anda untuk menyambungkan ke sumber data HDFS. Untuk detail konfigurasi, lihat bagian properti layanan tertaut HDFS.

Properti aktivitas pencarian

Untuk informasi tentang properti aktivitas Pencarian, lihat Aktivitas pencarian.

Properti aktivitas penghapusan

Untuk informasi tentang Hapus properti aktivitas, lihat Menghapus aktivitas.

Model warisan

Catatan

Model berikut ini masih didukung sebagaimana adanya untuk kompatibilitas mundur. Kami menyarankan Anda menggunakan model baru yang dibahas sebelumnya, karena antarmuka pengguna penulisan telah beralih untuk menghasilkan model baru.

Model himpunan data warisan

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur menjadi FileShare Ya
folderPath Jalur ke folder. Filter kartubebas didukung. Kartubebas yang diizinkan adalah * (cocok dengan karakter nol atau lebih) dan ? (cocok dengan karakter nol atau tunggal); gunakan ^ untuk meloloskan jika nama file Anda yang sebenarnya memiliki kartubebas atau karakter escape ini di dalamnya.

Contoh: rootfolder/subfolder/, lihat contoh lainnya dalam Contoh filter folder dan file.
Ya
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 diperbolehkan untuk filter adalah * (cocok dengan karakter nol atau lebih) dan ? (cocok dengan nol atau karakter tunggal).
- Contoh 1: "fileName": "*.csv"
- Contoh 2: "fileName": "???20180427.txt"
Gunakan ^ untuk meloloskan jika nama folder asli Anda memiliki kartubebas atau karakter escape di dalamnya.
No
modifiedDatetimeStart File difilter 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 akan dipengaruhi oleh aktivasi pengaturan ini ketika Anda ingin menerapkan filter file pada file dalam 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, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih besar dari atau sama dengan nilai tanggalwaktu. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart adalah NULL, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih kecil dari nilai tanggalwaktu.
No
modifiedDatetimeEnd File difilter 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 akan dipengaruhi oleh aktivasi pengaturan ini ketika Anda ingin menerapkan filter file pada file dalam 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, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih besar dari atau sama dengan nilai tanggalwaktu. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart adalah NULL, ini berarti file yang dipilih adalah file yang nilai atribut terakhir diubahnya lebih kecil dari nilai tanggalwaktu.
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 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, dan ZipDeflate.
Tingkat 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 karakter kartubebas.

Contoh:

{
    "name": "HDFSDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<HDFS linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "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 Salin harus diatur menjadi HdfsSource. Ya
recursive Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Ketika rekursif diatur menjadi 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.
No
distcpSettings Grup properti saat Anda menggunakan HDFS DistCp. No
resourceManagerEndpoint Titik akhir YARN Resource Manager Ya, jika menggunakan DistCp
tempScriptPath Jalur folder yang digunakan untuk menyimpan skrip perintah DistCp sementara. File skrip dihasilkan dan akan dihapus setelah tugas Penyalinan selesai. Ya, jika menggunakan DistCp
distcpOptions Opsi tambahan yang disediakan untuk perintah DistCp. 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: Sumber HDFS dalam aktivitas Salin menggunakan DistCp

"source": {
    "type": "HdfsSource",
    "distcpSettings": {
        "resourceManagerEndpoint": "resourcemanagerendpoint:8088",
        "tempScriptPath": "/usr/hadoop/tempscript",
        "distcpOptions": "-m 100"
    }
}

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas Salin, lihat penyimpanan data yang didukung.