Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk
Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.
Ikuti artikel ini saat Anda ingin memilah file Parquet atau menulis data ke dalam format Parquet.
Format Parquet didukung untuk konektor berikut ini:
- Amazon S3
- Penyimpanan yang Kompatibel dengan Amazon S3
- Azure Blob
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
- Azure Files
- Sistem File
- FTP
- Google Cloud Storage
- HDFS
- HTTP
- Penyimpanan Cloud Oracle
- SFTP
Untuk daftar fitur yang didukung untuk semua konektor yang tersedia, lihat artikel Gambaran Umum Konektor.
Menggunakan Integration Runtime yang dihost sendiri
Penting
Untuk salinan yang diberdayakan oleh Integration Runtime yang dihost sendiri, misalnya antara penyimpanan data lokal dan cloud, jika Anda tidak menyalin file Parquet as-is, Anda perlu menginstal 64-bit JRE 8 (Java Runtime Environment), JDK 23 (Java Development Kit), atau OpenJDK di mesin runtime integrasi Anda. Periksa paragraf berikut dengan detail selengkapnya.
Untuk proses penyalinan yang berjalan pada IR yang dikelola sendiri dengan serialisasi/deserialisasi file Parquet, layanan menemukan runtime Java dengan terlebih dahulu memeriksa registri (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) untuk JRE. Jika tidak ditemukan, kemudian memeriksa variabel sistem JAVA_HOME untuk OpenJDK.
- Untuk menggunakan JRE: IR 64-bit membutuhkan JRE 64-bit. Anda dapat menemukannya dari sini.
- Untuk menggunakan JDK: IR 64-bit memerlukan 64-bit JDK 23. Anda dapat menemukannya dari sini. Pastikan untuk memperbarui variabel sistem
JAVA_HOMEke folder akar penginstalan JDK 23 yaituC:\Program Files\Java\jdk-23, dan tambahkan jalur ke folderC:\Program Files\Java\jdk-23\bindanC:\Program Files\Java\jdk-23\bin\serverke variabel sistemPath. - Untuk menggunakan OpenJDK: Ini didukung sejak versi IR 3.13. Paketkan jvm.dll dengan semua rakitan OpenJDK lain yang diperlukan ke dalam mesin IR yang dihost Sendiri, dan atur variabel lingkungan sistem JAVA_HOME yang sesuai, lalu mulai ulang IR yang di-host Sendiri agar segera berlaku. Untuk mengunduh Microsoft Build di OpenJDK, lihat Microsoft Build di OpenJDKâ„¢.
Petunjuk
Jika Anda menyalin data ke/dari format Parquet menggunakan Self-hosted Integration Runtime dan mengalami kesalahan yang menyatakan "Terjadi kesalahan saat memanggil Java, pesan: java.lang.OutOfMemoryError: Java heap space", Anda dapat menambahkan variabel lingkungan _JAVA_OPTIONS di komputer yang menghosting Self-hosted IR untuk menyesuaikan ukuran heap min/maks untuk JVM agar memungkinkan penyalinan tersebut, lalu mengulangi eksekusi pipeline.
Contoh: atur variabel _JAVA_OPTIONS dengan nilai -Xms256m -Xmx16g. Bendera Xms menentukan kumpulan alokasi memori awal untuk Java Virtual Machine (JVM), sementara 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.
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 Parquet.
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis himpunan data harus diatur ke Parquet. | 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 |
| kodek kompresi | Codec kompresi yang digunakan saat menulis ke berkas Parquet. Saat membaca dari file Parquet, Data Factories secara otomatis menentukan codec kompresi berdasarkan metadata file. Jenis yang didukung adalah "none", "gzip", "snappy" (default), dan "lzo". Perhatikan saat ini Copy activity tidak mendukung LZO saat membaca/menulis file Parquet. |
Tidak |
Catatan
Spasi kosong dalam nama kolom tidak didukung untuk file Parquet.
Di bawah ini adalah contoh himpunan data Parquet pada Azure Blob Storage:
{
"name": "ParquetDataset",
"properties": {
"type": "Parquet",
"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",
},
"compressionCodec": "snappy"
}
}
}
Properti Aktivitas Salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Pipelines. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink Parquet.
Parquet sebagai sumber
Properti berikut didukung di bagian *sumber* aktivitas salin.
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis sumber aktivitas salin harus diatur ke ParquetSource. | Ya |
| storeSettings | Sekelompok properti tentang cara membaca data dari penyimpanan data. Setiap konektor berbasis file memiliki pengaturan baca yang didukung sendiri di bagian storeSettings.
Lihat perincian dalam artikel konektor -> bagian properti aktivitas penyalinan. |
Tidak |
Parquet sebagai tempat penyimpanan
Properti berikut ini didukung dalam bagian aktivitas salin sink.
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti tipe sink aktivitas penyalinan harus diatur ke ParquetSink. | Ya |
| pengaturanFormat | Sebuah grup properti. Lihat tabel pengaturan tulis Parquet di bawah ini. | Tidak |
| storeSettings | Sekelompok properti mengenai cara penulisan data ke dalam penyimpanan data. Setiap konektor berbasis file memiliki setelan penulisan tersendiri yang didukung pada storeSettings.
Lihat perincian di artikel konektor -> bagian properti Copy activity. |
Tidak |
Pengaturan tulis Parquet yang didukung di bawah formatSettings:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Jenis formatSettings harus diatur ke ParquetWriteSettings. | Ya |
| maxRowsPerFile | Saat menulis data ke dalam folder, Anda dapat memilih untuk menulis ke beberapa file dan menentukan baris maksimal per file. | Tidak |
| 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. |
Tidak |
Properti pemetaan aliran data
Dalam pemetaan aliran data, Anda dapat membaca dan menulis ke format parquet di penyimpanan data berikut: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 dan SFTP, dan Anda dapat membaca format parquet dalam Amazon S3.
Properti sumber
Tabel di bawah ini mencantumkan properti yang didukung oleh sumber parquet. Anda bisa mengedit properti ini di tab opsi Sumber.
| Nama | Deskripsi | Wajib | Nilai yang diizinkan | Properti skrip aliran data |
|---|---|---|---|---|
| Pemformatan | Format harus berupa parquet |
yes | parquet |
format |
| Jalur kartu liar | Semua file yang cocok dengan jalur wildcard akan diproses. Mengambil alih jalur folder dan file yang diatur dalam himpunan data. | no | String[] | wildcardPaths |
| Jalur utama 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 berdasarkan pengubahan terakhir | Pilih untuk memfilter file berdasarkan waktu terakhir file tersebut diubah | no | Penanda Waktu | dimodifikasiSetelah diubahSebelum |
| Tidak ada file ditemukan | Jika true, kesalahan tidak akan ditampilkan jika tidak ditemukan file | no |
true atau false |
abaikanTidakAdaBerkasDitemukan |
Contoh sumber
Gambar di bawah ini adalah contoh konfigurasi sumber parquet dalam pemetaan aliran data.
Skrip aliran data terkait adalah:
source(allowSchemaDrift: true,
validateSchema: false,
rowUrlColumn: 'fileName',
format: 'parquet') ~> ParquetSource
Properti pembuangan
Tabel di bawah ini mencantumkan properti yang didukung oleh sink parquet. Anda dapat mengedit properti ini di tab Pengaturan.
| Nama | Deskripsi | Wajib | Nilai yang diizinkan | Properti skrip aliran data |
|---|---|---|---|---|
| Pemformatan | Format harus berupa parquet |
yes | parquet |
format |
| Kosongkan folder | Jika folder tujuan dibersihkan sebelum menulis | no |
true atau false |
Pemangkasan |
| 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 Ekspor ke satu file: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Contoh sink
Gambar di bawah ini adalah contoh konfigurasi sink parquet dalam pemetaan aliran data.
Skrip aliran data terkait adalah:
ParquetSource sink(
format: 'parquet',
filePattern:'output[n].parquet',
truncate: true,
allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> ParquetSink
Pemetaan jenis data untuk Parquet
Saat membaca data dari konektor sumber dalam format Parquet, pemetaan berikut digunakan dari jenis data Parquet ke jenis data sementara yang digunakan oleh layanan secara internal.
| Jenis parquet | Jenis data layanan sementara |
|---|---|
| BOOLEAN | Boolean |
| INT_8 | SByte |
| INT_16 | Int16 |
| INT_32 | Int32 |
| INT_64 | Int64 |
| INT96 | DateTime |
| UINT_8 | Byte |
| UINT_16 | UInt16 |
| UINT_32 | UInt32 |
| UINT_64 | UInt64 |
| DESIMAL | Decimal |
| FLOAT | Single |
| dobel | Double |
| DATE | Tanggal |
| TIME_MILLIS | TimeSpan |
| TIME_MICROS | Int64 |
| TIMESTAMP_MILLIS | DateTime |
| TIMESTAMP_MICROS | Int64 |
| STRING | String |
| UTF8 | String |
| ENUM | Array byte |
| Pengidentifikasi Unik Universal (UUID) | Array byte |
| JSON | Array byte |
| BSON | Array byte |
| BINARY | Array byte |
| FIXED_LEN_BYTE_ARRAY (Array Byte Berukuran Tetap) | Array byte |
Saat menulis data ke konektor sink dalam format Parquet, pemetaan berikut diterapkan dari tipe data sementara yang digunakan oleh layanan secara internal ke tipe data Parquet.
| Jenis data layanan sementara | Jenis parquet |
|---|---|
| Boolean | BOOLEAN |
| SByte | INT_8 |
| Int16 | INT_32 |
| Int32 | INT_32 |
| Int64 | INT_64 |
| Byte | INT_32 |
| UInt16 | INT_32 |
| UInt32 | INT_64 |
| UInt64 | DESIMAL |
| Decimal | DESIMAL |
| Single | FLOAT |
| Double | dobel |
| Tanggal | DATE |
| DateTime | INT96 |
| DateTimeOffset | INT96 |
| TimeSpan | INT96 |
| String | UTF8 |
| GUID | UTF8 |
| Array byte | BINARY |
Untuk memahami bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke tujuan, lihat Pemetaan skema dan jenis data.
Jenis data kompleks Parquet (misalnya MAP, LIST, STRUCT) saat ini hanya didukung di Data Flows, bukan di Copy Activity. 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.
Konten terkait
- Ringkasan Aktivitas penyalinan
- Alur pemetaan data
- Aktivitas pencarian
- Aktivitas GetMetadata