Format ORC di Azure Data Factory dan 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!
Ikuti artikel ini saat Anda ingin mengurai file ORC atau menulis data ke dalam format ORC.
Format ORC didukung untuk konektor berikut: Amazon S3, Penyimpanan yang Kompatibel dengan Amazon S3, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage, dan SFTP.
Properti himpunan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data ORC.
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti type himpunan data harus diatur ke Orc. | Ya |
lokasi | Pengaturan lokasi file. Tiap konektor berbasis file memiliki jenis lokasinya sendiri dan properti yang didukung di location . Lihat detail di artikel konektor -> Bagian properti himpunan data. |
Ya |
compressionCodec | Kodek pemadatan yang digunakan saat menulis ke file ORC. Saat membaca dari file ORC, Data Factory secara otomatis menentukan kodek pemadatan berdasarkan metadata file. Jenis yang didukung adalah tidak ada, zlib, snappy (default), dan lzo. Perhatikan bahwa saat ini aktivitas Salin tidak mendukung LZO ketika membaca/menulis file ORC. |
No |
Di bawah ini adalah contoh himpunan data ORC di Azure Blob Storage:
{
"name": "OrcDataset",
"properties": {
"type": "Orc",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
}
}
}
}
Perhatikan poin berikut:
- Tipe data kompleks (misalnya, MAP, LIST, STRUCT) saat ini hanya didukung di Aliran Data, bukan di Aktivitas Salin. Untuk menggunakan jenis kompleks dalam aliran data, jangan impor skema file dalam himpunan data, biarkan skema kosong di himpunan data. Kemudian, dalam transformasi Sumber, impor proyeksi.
- Spasi kosong dalam nama kolom tidak didukung.
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink ORC.
ORC sebagai sumber
Properti berikut didukung di bagian *sumber* aktivitas salin.
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti type dari sumber aktivitas salin harus diatur ke OrcSource. | Ya |
storeSettings | Grup berbagai properti tentang cara membaca data dari penyimpanan data. Setiap konektor berbasis file memiliki pengaturan baca yang didukung sendiri di bagian storeSettings . Lihat detail di artikel konektor -> Bagian properti aktivitas salin. |
No |
ORC sebagai sink
Properti berikut ini didukung di bagian sink aktivitas salin.
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti type sink aktivitas salin harus diatur ke OrcSink. | Ya |
formatSettings | Grup properti. Lihat tabel pengaturan penulisan ORC di bawah ini. | No |
storeSettings | Grup properti tentang cara menulis data ke penyimpanan data. Setiap konektor berbasis file memiliki pengaturan tulis tersendiri yang didukung pada storeSettings . Lihat detail di artikel konektor -> Bagian properti aktivitas salin. |
No |
Pengaturan penulisan ORC yang didukung di formatSettings
:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Jenis formatSettings harus diatur ke OrcWriteSettings. | Ya |
maxRowsPerFile | Saat menulis data ke dalam folder, Anda dapat memilih untuk menulis ke beberapa file dan menentukan baris maksimal per file. | No |
fileNamePrefix | Berlaku ketika maxRowsPerFile dikonfigurasi.Menentukan awalan nama file saat menulis data ke beberapa file, menghasilkan pola ini: <fileNamePrefix>_00000.<fileExtension> . Jika tidak ditentukan, awalan nama file akan dibuat secara otomatis. Properti ini tidak berlaku ketika sumber adalah penyimpanan berbasis file atau penyimpanan data dengan dukungan opsi partisi. |
No |
Properti pemetaan aliran data
Dalam memetakan aliran data, Anda dapat membaca dan menulis ke format ORC di penyimpanan data berikut: Azure Blob Storage, Azure Data Lake Storage Gen1, dan Azure Data Lake Storage Gen2 dan SFTP. Anda dapat membaca format ORC di Amazon S3.
Anda dapat mengarahkan ke file ORC baik menggunakan himpunan data ORC atau menggunakan himpunan data sebaris.
Properti sumber
Tabel di bawah ini mencantumkan properti yang didukung oleh sumber ORC. Anda bisa mengedit properti ini di tab opsi Sumber.
Saat menggunakan himpunan data sebaris, Anda akan melihat pengaturan file tambahan, yang sama dengan properti yang dijelaskan di bagian properti himpunan data.
Nama | Deskripsi | Wajib diisi | Nilai yang diizinkan | Properti skrip aliran data |
---|---|---|---|---|
Format | Format harus berupa orc |
yes | orc |
format |
Jalur wild card | Semua file yang cocok dengan jalur kartubebas akan diproses. Mengambil alih jalur folder dan file yang diatur dalam himpunan data. | no | Tali[] | wildcardPaths |
Jalur akar partisi | Untuk data file yang dipartisi, Anda dapat memasukkan jalur akar partisi untuk membaca folder yang dipartisi sebagai kolom | no | String | partitionRootPath |
Daftar file | Apakah sumber Anda mengarah ke file teks yang mencantumkan file untuk diproses | no | true atau false |
fileList |
Kolom untuk menyimpan nama file | Membuat kolom baru dengan jalur dan nama file sumber | no | String | rowUrlColumn |
Setelah selesai | Hapus atau pindahkan file setelah diproses. Jalur file dimulai dari akar kontainer | no | Hapus: true atau false Pindah: [<from>, <to>] |
purgeFiles moveFiles |
Filter menurut terakhir diubah | Pilih untuk memfilter file berdasarkan waktu terakhir file tersebut diubah | no | Tanda Waktu | modifiedAfter modifiedBefore |
Izinkan file tidak ditemukan | Jika true, kesalahan tidak akan ditampilkan jika tidak ditemukan file | no | true atau false |
ignoreNoFilesFound |
Contoh sumber
Skrip aliran data terkait dari konfigurasi sumber ORC adalah:
source(allowSchemaDrift: true,
validateSchema: false,
rowUrlColumn: 'fileName',
format: 'orc') ~> OrcSource
Properti sink
Tabel di bawah ini mencantumkan properti yang didukung oleh sink ORC. Anda dapat mengedit properti ini di tab Pengaturan.
Saat menggunakan himpunan data sebaris, Anda akan melihat pengaturan file tambahan, yang sama dengan properti yang dijelaskan di bagian properti himpunan data.
Nama | Deskripsi | Wajib diisi | Nilai yang diizinkan | Properti skrip aliran data |
---|---|---|---|---|
Format | Format harus berupa orc |
yes | orc |
format |
Menghapus folder | Jika folder tujuan dibersihkan sebelum menulis | no | true atau false |
Memotong |
Opsi nama file | Format penamaan data yang ditulis. Secara default, satu file per partisi dalam format part-#####-tid-<guid> |
no | Pola: String Per partisi: String[] Sebagai data dalam kolom: String Output ke satu file: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Contoh sink
Skrip aliran data terkait dari konfigurasi sink ORC adalah:
OrcSource sink(
format: 'orc',
filePattern:'output[n].orc',
truncate: true,
allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> OrcSink
Menggunakan Integration Runtime yang Dihost Sendiri
Penting
Untuk penyalinan yang diberdayakan oleh Runtime integrasi yang Dihost Sendiri, misalnya antara penyimpanan data lokal dan cloud, jika Anda tidak menyalin file ORC apa adanya, Anda perlu menginstal JRE 8 (Java Runtime Environment) atau OpenJDK 64-bit dan Microsoft Visual C++ 2010 Redistributable Package di komputer Runtime integrasi Anda. Periksa paragraf berikut dengan detail selengkapnya.
Untuk penyalinan yang berjalan pada IR yang dihost sendiri dengan serialisasi/deserialisasi file ORC, layanan akan mencari runtime Java dengan terlebih dahulu memeriksa registri (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome)
untuk JRE, jika tidak ditemukan, lalu memeriksa variabel sistem JAVA_HOME
untuk OpenJDK.
- Untuk menggunakan JRE: IR 64-bit membutuhkan JRE 64-bit. Anda dapat menemukannya dari sini.
- Untuk menggunakan OpenJDK: Ini didukung sejak Runtime integrasi versi 3.13. Kemas jvm.dll dengan semua rakitan OpenJDK lain yang diperlukan ke dalam mesin IR yang dihost sendiri, dan atur variabel lingkungan sistem JAVA_HOME dengan sesuai.
- Untuk menginstal Visual C++ 2010 Redistributable Package: Visual C++ 2010 Redistributable Package tidak diinstal dengan penginstalan Runtime integrasi yang dihost sendiri. Anda dapat menemukannya dari sini.
Tip
Jika Anda menyalin data ke/dari format ORC menggunakan Runtime integrasi yang dihost sendiri dan mendapatkan kesalahan yang mengatakan "Kesalahan terjadi saat memanggil java, pesan: java.lang.OutOfMemoryError:Java heap space", Anda dapat menambahkan variabel lingkungan _JAVA_OPTIONS
di komputer yang meng-host Runtime integrasi yang dihost sendiri untuk menyesuaikan ukuran timbunan min/maks agar JVM memberdayakan penyalinan tersebut, lalu jalankan kembali alur.
Contoh: atur variabel _JAVA_OPTIONS
dengan nilai -Xms256m -Xmx16g
. Bendera Xms
menentukan kumpulan alokasi memori awal untuk Java Virtual Machine (JVM), sedangkan Xmx
menentukan kumpulan alokasi memori maksimum. Ini berarti bahwa JVM akan dimulai dengan jumlah memori Xms
dan akan dapat menggunakan jumlah memori maksimum Xmx
. Secara default, layanan menggunakan min 64 MB dan maks 1G.