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.
Berlaku untuk:✅ Gudang di Microsoft Fabric
Gudang di Microsoft Fabric memiliki alat ingesti data bawaan. Gunakan alat-alat ini untuk mengimpor data ke dalam gudang data dalam skala besar dengan menggunakan antarmuka bebas kode atau berfitur kode lengkap.
Pilih alat penyerapan data
Pilih opsi penyerapan data berdasarkan kriteria berikut:
- Gunakan pernyataan COPY (Transact-SQL) untuk operasi penyerapan data yang kaya kode. Ini menyediakan throughput penyerapan data tertinggi. Gunakan saat Anda perlu menambahkan penyerapan data sebagai bagian dari logika Transact-SQL Anda.
- Untuk memulai, lihat Menyerap data menggunakan pernyataan COPY.
- The Warehouse juga mendukung pernyataan tradisional
BULK INSERTdemi kompatibilitas. Dalam Fabric Data Warehouse, pernyataan ini memetakan perilakuCOPY INTOdengan opsi pemuatan klasik. - Pernyataan
COPYdi Warehouse mendukung sumber data dari akun penyimpanan Azure dan folder Lakehouse OneLake. - Tentukan
Workspace IdentitydalamCREDENTIALklausa untuk meniru identitas workspace Fabric saat mengakses sumber. Contohnya,CREDENTIAL = (IDENTITY = 'Workspace Identity'). Pernyataan ini terus berjalan dalam konteks keamanan SQL pengguna saat ini.
- Gunakan BCP API (Pratinjau) untuk penyerapan sisi klien langsung saat data berada di tingkat aplikasi Anda dan Anda tidak dapat melakukan tahapan file terlebih dahulu.
- Untuk memulai, lihat Menyerap data menggunakan API BCP (Pratinjau).
- API BCP mendukung skrip bcp.exe dan API aplikasi seperti C#
SqlBulkCopydan JavaSQLServerBulkCopy. - Untuk ingesti berbasis file dengan throughput tertinggi, gunakan
COPY INTOjika staging memungkinkan.
- Gunakan pipeline untuk alur kerja penyerapan data yang bebas kode atau dengan sedikit kode dan kuat, yang berjalan berulang kali, sesuai jadwal, atau melibatkan data dalam volume besar.
- Untuk memulai, lihat Menyerap data ke gudang Anda menggunakan alur.
- Dengan menggunakan pipelines, Anda dapat mengatur alur kerja yang kuat untuk proses pemrosesan ekstrak, transformasi, pemuatan (ETL) yang lengkap dan optimal. Pengalaman ini mencakup aktivitas untuk membantu menyiapkan lingkungan tujuan, menjalankan pernyataan Transact-SQL kustom, melakukan pencarian, atau menyalin data dari sumber ke tujuan.
- Gunakan aliran data untuk pengalaman bebas kode yang memungkinkan transformasi kustom untuk sumber data sebelum penyerapan.
- Untuk memulai, lihat Menyerap data menggunakan aliran data.
- Transformasi ini termasuk (tetapi tidak terbatas pada) mengubah jenis data, menambahkan atau menghapus kolom, atau menggunakan fungsi untuk menghasilkan kolom terhitung.
- Gunakan penyerapan T-SQL untuk pengalaman kaya kode untuk membuat tabel baru atau memperbarui tabel yang sudah ada dengan data sumber dalam ruang kerja atau penyimpanan eksternal yang sama.
- Untuk memulai, lihat Menyerap data ke Gudang Anda menggunakan Transact-SQL.
- Gunakan fitur Transact-SQL seperti
INSERT...SELECT,SELECT INTO, atauCREATE TABLE AS SELECT (CTAS)untuk membaca data dari tabel yang mereferensikan gudang, lakehouse, atau database cermin lainnya dalam ruang kerja yang sama. Anda juga dapat menggunakan fitur-fitur ini untuk membaca data dari fungsiOPENROWSETyang mereferensikan file di akun penyimpanan Azure eksternal. - Anda juga dapat menulis kueri lintas database antara gudang yang berbeda di ruang kerja Fabric Anda.
Format dan sumber data yang didukung
Penyerapan data untuk Gudang di Microsoft Fabric mendukung banyak format dan sumber data. Setiap opsi yang diuraikan dalam artikel ini menyertakan daftar jenis konektor data dan format data yang didukung sendiri.
Untuk ingesti T-SQL, sumber data tabel harus berada dalam ruang kerja Microsoft Fabric yang sama, dan sumber data file harus berada di Azure Data Lake atau penyimpanan Blob Azure. Anda dapat mengkueri data dengan menggunakan penamaan tiga bagian atau OPENROWSET fungsi untuk data sumber. Sumber data tabel dapat mereferensikan himpunan data Delta Lake, sementara OPENROWSET dapat mereferensikan file Parquet, CSV, atau JSONL di Azure Data Lake atau penyimpanan Blob Azure.
Misalnya, ruang kerja memiliki dua gudang, bernama Inventory dan Sales. Kueri seperti berikut ini membuat tabel baru di Inventory gudang dengan konten tabel di Inventory gudang yang digabungkan dengan tabel di Sales gudang, dan dengan file eksternal yang berisi informasi pelanggan:
CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT
s.SalesOrders,
i.ProductName,
c.CustomerName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
ON s.ProductID = i.ProductID
JOIN OPENROWSET( BULK 'abfss://<container>@<storage>.dfs.core.windows.net/<customer-file>.csv' ) AS c
ON s.CustomerID = c.CustomerID
WHERE s.Region = 'West region';
Note
Membaca data dengan menggunakan OPENROWSET bisa lebih lambat daripada mengkueri data dari tabel. Jika Anda berencana untuk mengakses data eksternal yang sama berulang kali, pertimbangkan untuk menyerapnya ke dalam tabel khusus untuk meningkatkan performa dan efisiensi kueri.
Pernyataan COPY (Transact-SQL) mendukung format file CSV, JSONL, dan PARQUET. Sumber data yang didukung meliputi Azure Data Lake Storage (ADLS) Gen2, Azure Blob Storage, dan OneLake.
Untuk skenario penyerapan sisi klien langsung, BCP API (Pratinjau) mendukung alat dan API seperti bcp.exe, C# SqlBulkCopy, dan Java SQLServerBulkCopy melalui koneksi SQL tanpa file penahapan terlebih dahulu.
Alur dan aliran data mendukung berbagai sumber data dan format data. Untuk informasi selengkapnya, lihat Alur dan Aliran Data.
Gunakan Identitas Workspace dengan COPY INTO
Gunakan Workspace Identity dengan COPY INTO untuk memisahkan akses ke data sumber dari izin penulisan ke tabel gudang target. Workspace Identity didukung untuk sumber Azure Blob Storage, ADLS Gen2, dan OneLake. Pernyataan ini berjalan dalam konteks keamanan SQL pengguna saat ini. Klausa WITH (CREDENTIAL = (IDENTITY = 'Workspace Identity')) hanya memungkinkan COPY INTO untuk menyamar sebagai identitas ruang kerja saat mengakses sumber. Semua izin SQL dan atribusi audit tetap terkait dengan pengguna yang mengeksekusi.
Tanpa Workspace Identity, pengguna yang menerima akses ke gudang melalui pembagian item dapat menjalankan COPY INTO dengan setidaknya izin Read item dan izin SQL yang diperlukan.
Selesaikan pengaturan berikut sebelum Anda menjalankan COPY INTO dengan Workspace Identity:
- Konfigurasikan identitas ruang kerja untuk ruang kerja yang berisi gudang target.
- Berikan akses identitas workspace ke sumber:
- Untuk Azure Blob Storage dan ADLS Gen2, temukan identitas workspace berdasarkan nama workspace, dan tetapkan peran Storage Blob Data Reader pada akun penyimpanan atau container. Untuk akses tingkat direktori ADLS Gen2, berikan izin ACL yang diperlukan. Berikan izin pada identitas workspace seperti yang Anda lakukan pada pengguna Microsoft Entra.
- Untuk OneLake, temukan identitas ruang kerja berdasarkan nama ruang kerja, tambahkan identitas tersebut ke ruang kerja yang berisi data sumber, dan tetapkan setidaknya peran ruang kerja Kontributor.
- Tetapkan setidaknya peran Viewer pada workspace yang berisi gudang target kepada pengguna yang sedang menjalankan eksekusi. Izin pada item saja tidak memberi wewenang kepada pengguna untuk meniru identitas workspace. Persyaratan peran ruang kerja hanya berlaku ketika pengguna menentukan Identitas Ruang Kerja.
- Berikan izin kepada pengguna
INSERTyang sedang menjalankan pada tabel target. Ketika Workspace Identity adalah kredensial, izin tidak diperlukan.ADMINISTER DATABASE BULK OPERATIONS
Contoh berikut memuat file CSV dari OneLake dengan menyamar sebagai Workspace Identity untuk akses sumber:
COPY INTO dbo.SalesOrders
FROM 'https://onelake.dfs.fabric.microsoft.com/<workspace-id>/<item-id>/Files/orders/*.csv'
WITH (
FILE_TYPE = 'CSV',
FIRSTROW = 2,
CREDENTIAL = (IDENTITY = 'Workspace Identity')
);
Important
Kebijakan label sensitivitas berbeda-beda menurut organisasi.
COPY INTO dapat gagal ketika tujuan memiliki label sensitivitas dengan pembatasan yang mencegah operasi. Jika label sensitivitas menyebabkan kegagalan, hapus label dari tujuan sebelum mencoba perintah tersebut lagi.
Praktik terbaik
Perintah COPY di Warehouse di Microsoft Fabric menyediakan antarmuka yang sederhana, fleksibel, dan cepat untuk penghapusan data throughput tinggi untuk beban kerja SQL dari Azure Storage dan OneLake.
Anda juga dapat menggunakan bahasa T-SQL untuk membuat tabel baru lalu menyisipkannya, lalu memperbarui dan menghapus baris data. Anda bisa menyisipkan data dari database apa pun dalam ruang kerja Microsoft Fabric dengan menggunakan kueri lintas database. Jika Anda ingin menyerap data dari Lakehouse ke gudang, Anda dapat melakukan ini dengan kueri lintas database. Contohnya:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
- Hindari menyerap data dengan menggunakan pernyataan singleton
INSERT, karena pendekatan ini menyebabkan performa yang buruk pada kueri dan pembaruan. Jika Anda menggunakan pernyataan singletonINSERTuntuk penyerapan data secara berturut-turut, buat tabel baru dengan menggunakan polaCREATE TABLE AS SELECT (CTAS)atauINSERT...SELECT, hapus tabel asli, lalu buat kembali tabel Anda dari tabel yang telah Anda buat dengan menggunakanCREATE TABLE AS SELECT (CTAS).- Menghilangkan tabel yang ada berdampak pada model semantik Anda, termasuk tindakan kustom atau penyesuaian apa pun yang mungkin telah Anda buat pada model semantik.
- Saat bekerja dengan data eksternal pada file, pastikan file berukuran setidaknya 4 MB.
- Untuk file CSV terkompresi besar, pertimbangkan untuk membagi file Anda menjadi beberapa file.
- Azure Data Lake Storage (ADLS) Gen2 menawarkan performa yang lebih baik daripada Azure Blob Storage (warisan). Pertimbangkan untuk menggunakan akun ADLS Gen2 jika memungkinkan.
- Untuk alur yang sering berjalan, pertimbangkan untuk mengisolasi akun penyimpanan Azure Anda dari layanan lain yang dapat mengakses file yang sama secara bersamaan.
- Transaksi eksplisit memungkinkan Anda mengelompokkan beberapa perubahan data sehingga hanya terlihat saat membaca satu atau beberapa tabel ketika transaksi telah sepenuhnya diselesaikan. Anda juga memiliki kemampuan untuk mengembalikan transaksi jika salah satu perubahan gagal.
- Jika
SELECTberada dalam sebuah transaksi, dan sebelumnya didahului oleh penyisipan data, statistik yang dihasilkan secara otomatis dapat menjadi tidak akurat setelah rollback. Statistik yang tidak akurat dapat menyebabkan rencana kueri dan waktu eksekusi yang tidak optimal. Jika Anda membatalkan transaksi denganSELECTs setelahINSERTyang besar, perbarui statistik untuk kolom yang disebutkan dalamSELECTAnda.
Note
Terlepas dari bagaimana Anda menyerap data ke dalam gudang, tugas penyerapan data mengoptimalkan file parket yang dihasilkannya dengan menggunakan pengoptimalan tulis V-Order. V-Order mengoptimalkan file parquet untuk memfasilitasi pembacaan sangat cepat dengan mesin komputasi Microsoft Fabric seperti Power BI, SQL, Spark, dan lainnya. Kueri gudang secara umum mendapat manfaat dari waktu baca yang lebih cepat untuk kueri dengan pengoptimalan ini, sambil tetap memastikan file parket 100% sesuai dengan spesifikasi sumber terbuka mereka. Jangan nonaktifkan V-Order karena dapat memengaruhi performa baca. Untuk informasi selengkapnya tentang V-Order, lihat Memahami dan mengelola V-Order for Warehouse.
Tanya jawab umum tentang penyerapan data untuk Fabric Data Warehouse
Apa panduan pemisahan file untuk perintah COPY yang memuat file CSV terkompresi?
Pertimbangkan untuk memisahkan file CSV besar, terutama ketika jumlah file kecil, tetapi simpan file minimal 4 MB masing-masing untuk performa yang lebih baik.
Apa panduan pemisahan file untuk perintah COPY yang memuat file Parquet?
Pertimbangkan untuk memisahkan file Parquet besar, terutama kalau jumlah filenya sedikit.
Apakah ada batasan pada jumlah atau ukuran file?
Tidak ada batasan pada jumlah atau ukuran file. Namun, untuk performa terbaik, gunakan file yang setidaknya 4 MB.
Kredensial apa yang digunakan perintah COPY jika saya tidak mencantumkannya?
Secara bawaan, COPY INTO menggunakan identitas Microsoft Entra milik pengguna yang menjalankan untuk mengakses sumber.