Artikel ini memberikan maklumat tentang soalan lazim tentang cara mengeksport data jadual Microsoft Dataverse kepada Azure Synapse Analytics dan Azure Data Lake.
Bolehkah saya melaksanakan tugas secara manual seperti mencipta, mengemas kini, memadam atau menetapkan dasar autohapus untuk fail data dalam storan Azure yang disambungkan?
Fail data tidak boleh diubah suai oleh pelanggan dan tiada fail pelanggan harus diletakkan dalam folder data.
Nota
Untuk menjatuhkan data basi dan bertakung dalam tasik data tanpa memecahkan Azure Synapse Link, pertimbangkan untuk menggunakan ciri Pertanyaan dan analisis kemas kini tambahan
Bagaimanakah saya boleh mencapai perhubungan jadual saya?
Untuk mengakses perhubungan banyak kepada banyak, perhubungan tersedia sebagai jadual untuk dipilih daripada halaman Tambah jadual untuk pautan baharu dan daripada Urus jadual untuk pautan sedia ada.
Nota
Semua data perhubungan berada dalam mod Lampiran sahaja secara lalai apabila ditulis dalam format CSV.
Bagaimanakah saya boleh mendapatkan anggaran kos sebelum menambah Azure Synapse Link?
Azure Synapse Link ialah ciri percuma dengan Dataverse. Menggunakan Azure Synapse Link for Dataverse tidak dikenakan caj tambahan di bawah Dataverse. Walau bagaimanapun, pertimbangkan potensi kos untuk perkhidmatan Azure:
- Penyimpanan data dalam Azure Data Lake Storage Gen2: Harga Azure Storage Data Lake Gen2 | Microsoft Azure
- Kos penggunaan data (seperti Synapse Workspace): Harga - Azure Synapse Analytics | Microsoft Azure Untuk maklumat Pengurusan Kos Microsoft yang komprehensif, pergi ke: Rancang untuk mengurus kos Azure - Pengurusan Kos Microsoft | Microsoft Learn
Apakah yang berlaku apabila saya menambahkan lajur?
Apabila anda menambah lajur baharu pada jadual dalam sumber, ia juga ditambah pada penghujung fail dalam destinasi dalam partition fail yang sepadan. Walaupun baris yang wujud sebelum penambahan lajur tidak ditunjukkan dalam lajur baharu, baris baharu atau dikemas kini menunjukkan lajur yang baru ditambah.
Apakah yang berlaku apabila saya memadamkan lajur?
Apabila anda memadamkan lajur daripada jadual dalam sumber, lajur tidak digugurkan daripada destinasi. Sebaliknya, baris tidak lagi dikemas kini dan ditandakan sebagai kosong sambil mengekalkan baris yang sebelumnya.
Apakah akan berlaku jika saya mengubah jenis data lajur?
Menukar jenis data lajur adalah perubahan yang merosakkan dan anda perlu menyahpaut dan memautkan semula.
Apakah yang berlaku apabila saya memadamkan baris?
Pemadaman baris dikendalikan secara berbeza berdasarkan pilihan penulisan data yang anda pilih:
- Kemas kini di tempat dengan format CSV: Ini ialah mod lalai. Apabila anda memadamkan baris jadual dalam mod ini, baris juga dipadamkan daripada partition data yang sepadan dalam Azure Data Lake. Dalam erti kata lain, data dipadamkan dengan keras daripada destinasi.
- Lampiran sahaja dengan format CSV dan kemas kini folder tambahan: Dalam mod ini, apabila Dataverse baris jadual dipadamkan, ia tidak dipadamkan keras daripada destinasi. Sebaliknya, baris ditambah dan ditetapkan seperti fail
isDeleted=True
dalam partition data yang sepadan dalam Azure Data Lake. - Eksport ke format tasik Delta: Azure Synapse Link melakukan pemadaman lembut pada data semasa kitaran penyegerakan delta seterusnya, diikuti dengan pemadaman keras selepas 30 hari.
Mengapa saya tidak melihat pengepala lajur dalam fail yang dieksport?
Azure Synapse Link mengikut Model Data Biasa untuk membolehkan data dan ia bermakna untuk dikongsi merentas aplikasi dan proses perniagaan seperti Microsoft Power Apps, Power BI, Dynamics 365 dan Azure. Dalam setiap folder CDM, metadata seperti pengepala lajur disimpan dalam fail model.json. Maklumat lanjut: Model Data Biasa dan Azure Data Lake Storage Gen2 | Microsoft Learn
Mengapakah fail Model.json bertambah atau berubah panjang untuk jenis data dan tidak mengekalkan apa yang ditakrifkan dalam Dataverse?
Model.json mengekalkan panjang pangkalan data untuk saiz lajur. Dataverse mempunyai konsep panjang pangkalan data untuk setiap lajur. Jika anda membuat lajur dengan saiz 200 dan kemudian kurangkan kepada 100, masih Dataverse membenarkan data sedia ada anda hadir Dataverse. Ia melakukannya dengan mengekalkan DBLength
200 dan MaxLength
100. Apa yang anda lihat dalam Model.json ialah DBLength
dan jika anda menggunakannya untuk proses hiliran, anda tidak akan memperuntukkan ruang yang lebih rendah untuk lajur anda Dataverse .
Nota
Medan memo ditakrifkan sebagai varchar(max)
dengan panjang maksimum lalai 9999.
Apakah format tarikh dan masa boleh dijangka dalam jadual Dataverse yang dieksport?
Terdapat tiga format tarikh dan masa yang boleh dijangkan dalam jadual Dataverse yang dieksport.
Nama Lajur | Format | Jenis Data | Contoh |
---|---|---|---|
SinkCreatedOn dan SinkModifiedOn | M/d/yyyy H:mm:ss tt | datetime | 6/28/2021 4:34:35 MLM |
CreatedOn | yyyy-MM-dd'T'HH:mm:ss.sssssssXXX | datetimeOffset | 2018-05-25T16:21:09.0000000+00:00 |
Semua Lajur Lain | yyyy-MM-dd'T'HH:mm:ss'Z' | datetime | 2021-06-25T16:21:12Z |
Nota
Jenis data CreatedOn berubah daripada datetime
kepada pada datetimeOffset
07/29/2022. Untuk mengedit format jenis data bagi jadual yang dicipta sebelum perubahan, lepaskan dan tambah semula jadual.
Anda boleh memilih kelakuan lajur yang berbeza untuk lajur Tarikh dan Masa dalam Dataverse, yang mengemas kini format jenis data. Maklumat lanjut: Tingkah laku dan format lajur Tarikh dan Masa
Mengapakah saya melihat nama fail 1.csv atau 1_001.csv dan bukannya nama fail yang dibahagikan tarikh masa biasa untuk sesetengah Dataverse jadual?
Kelakuan ini dijangka apabila anda memilih mod eksport tambah sahaja dan mempunyai jadual tanpa lajur CreatedOn yang sah . Blob disusun ke dalam fail seperti 1.csv, 2.csv (menggunakan pembahagian tersuai kerana ketiadaan tarikh penciptaan yang sah). Apabila mana-mana partition menghampiri 95% daripada MaxBlockPerBlobLimit, sistem menjana fail baharu secara automatik—digambarkan di sini sebagai 1_001.csv.
Bilakah saya perlu menggunakan strategi petak tahunan atau bulanan?
Untuk jadual Dataverse yang mana jumlah data adalah tinggi dalam tempoh setahun, kami mengesyorkan agar anda menggunakan petak bulanan. Berbuat demikian akan menghasilkan fail yang lebih kecil dan prestasi yang lebih baik. Selain itu, jika baris dalam Dataverse jadual dikemas kini dengan kerap, membahagikan kepada berbilang fail yang lebih kecil membantu meningkatkan prestasi dalam kes senario kemas kini di tempat. Delta Lake hanya tersedia dengan partition tahunan kerana prestasinya yang unggul berbanding format CSV.
Apakah mod tambah sahaja dan apakah perbezaan antara tambah sahaja dan mod kemas kini di tempat?
Dalam mod tambah sahaja, data tambahan daripada Dataverse jadual ditambahkan pada partition fail yang sepadan dalam tasik. Untuk maklumat lanjut: Pilihan Konfigurasi Lanjutan dalam Azure Synapse Link
Bilakah saya boleh menggunakan mod tambah sahaja untuk pandangan sejarah perubahan?
Mod Tambah sahaja ialah pilihan yang disyorkan untuk menulis data jadual Dataverse kepada Lake, terutamanya apabila jumlah data yang tinggi dalam petak dengan data yang kerap berubah. Sekali lagi, ini ialah pilihan yang biasa digunakan dan amat disyorkan untuk pelanggan perusahaan. Selain itu, anda boleh memilih untuk menggunakan mod ini bagi senario yang tujuannya adalah untuk menyemak perubahan secara bertahap daripada Dataverse dan memproses perubahan untuk senario ETL, AI dan ML. Mod Tambah sahaja memberikan sejarah perubahan, bukannya perubahan terkini atau kemas kini setempat dan mendayakan beberapa siri masa daripada senario AI, seperti ramalan atau analitis ramalan berdasarkan nilai sejarah.
Bagaimanakah saya boleh mendapatkan semula baris yang paling terkini bagi setiap rekod dan mengecualikan baris yang dipadamkan apabila saya mengeksport data dalam mod tambah sahaja?
Dalam mod tambah sahaja, anda harus mengenal pasti versi rekod terkini dengan ID yang sama menggunakan VersionNumber
dan SinkModifiedOn
kemudian memohon isDeleted=0
pada versi terkini.
Mengapakah saya melihat nombor versi pendua apabila saya mengeksport data menggunakan mod tambah sahaja?
Untuk mod tambah sahaja, jika Azure Synapse Link for Dataverse tidak mendapat pengakuan daripada tasik data Azure bahawa data telah dilakukan atas sebarang sebab seperti kelewatan rangkaian, Azure Synapse Link akan mencuba semula dalam senario tersebut dan melakukan data sekali lagi. Penggunaan hiliran harus dibuat berdaya tahan terhadap senario ini dengan menapis data menggunakan SinkModifiedOn
.
Mengapakah saya melihat perbezaan dalam lajur Sinkmodifiedon dan Modifiedon?
Ia dijangka. Modifiedon
ialah tarikh rekod yang ditukar Dataverse; Sinkmodifiedon
ialah tarikh dan masa rekod diubah suai dalam tasik data.
Jadual manakah Dataverse yang tidak disokong untuk eksport?
Mana-mana jadual yang tidak mempunyai penjejakan perubahan didayakan tidak disokong sebagai tambahan kepada jadual sistem berikut:
- Lampiran
- Kalendar
- Calendarrule
Nota
Anda boleh menambah jadual audit untuk eksport menggunakan Azure Synapse Link for Dataverse. Walau bagaimanapun, eksport jadual audit hanya disokong dengan profil Delta Lake.
Saya menggunakan ciri eksport ke tasik delta, bolehkah saya menghentikan Apache Spark kerja atau menukar masa pelaksanaan?
Kerja penukaran Delta Lake dicetuskan apabila terdapat perubahan data dalam selang masa yang dikonfigurasikan. Tiada pilihan untuk menghentikan atau menjeda Apache Spark kolam. Walau bagaimanapun, anda boleh mengubah suai selang masa selepas penciptaan pautan di bawah Urus jadual > Selang Masa Lanjutan.
Adakah Azure Synapse Link menyokong lajur carian?
Lajur carian terdiri daripada ID dan nilai. Nilai carian hanya berubah pada jadual akar. Untuk mencerminkan nilai lajur carian dengan lebih baik, kami mengesyorkan agar bergabung dengan jadual akar asal untuk mendapatkan nilai terkini.
Adakah Azure Synapse Link menyokong lajur terhitung?
Dalam Dataverse, lajur terhitung hanya menyimpan maklumat formula dan nilai sebenar bergantung pada lajur jadual asas. Jadi lajur terhitung hanya disokong apabila semua lajur terletak dalam jadual yang dieksport yang sama.
Jadual manakah yang Dataverse menggunakan mod tambah sahaja secara lalai?
Semua jadual yang tidak mempunyai medan createdOn disegerakkan menggunakan mod tambah sahaja secara lalai. Ini termasuk jadual perhubungan dan jadual ActivityParty.
Mengapakah saya melihat mesej ralat - Kandungan direktori pada laluan tidak boleh disenaraikan?
- Dataverse Data disimpan dalam bekas storan yang disambungkan. Anda memerlukan peranan "Penyumbang Data Blob Storan" dalam akaun storan yang dipautkan untuk melaksanakan operasi baca dan pertanyaan melalui Synapse Workspace.
- Jika anda memilih untuk mengeksport data dengan format Delta Lake, fail CSV anda akan dibersihkan selepas penukaran Delta Lake. Anda perlu menanyakan data dengan jadual non_partitioned melalui Synapse Workspace.
Mengapakah saya melihat mesej ralat - tidak boleh dimuatkan secara pukal kerana fail tidak lengkap atau tidak dapat dibaca (fail CSV sahaja)?
Data Dataverse boleh berubah secara berterusan melalui penciptaan, pengemaskinian dan pemadaman transaksi. Ralat ini disebabkan oleh fail asas yang diubah apabila anda membaca data daripadanya. Jadi, untuk jadual dengan perubahan berterusan, ubah saluran paip penggunaan anda untuk menggunakan data petikan (jadual dibahagikan) untuk digunakan. Maklumat lanjut: Selesaikan masalah kumpulan SQL tanpa pelayan
Bagaimanakah saya boleh menggunakan Azure Synapse Link untuk mengarkibkan data kritikal?
Azure Synapse Link for Dataverse direka untuk tujuan analitik. Kami mengesyorkan pelanggan menggunakan pengekalan jangka panjang untuk tujuan arkib. Maklumat lanjut: Dataverse gambaran keseluruhan pengekalan data jangka panjang
Mengapa saya tidak melihat sebarang perubahan data dalam tasik data apabila rekod telah dipadamkan Dataverse?
Untuk sebarang panggilan SQL langsung untuk mengalih keluar rekod, Azure Synapse Link for Dataverse perkhidmatan tidak dicetuskan kerana BPO. Padam tidak dipanggil. Untuk ciri sampel, pergi ke Cara membersihkan akses yang diwarisi.