Menyerap data ke gudang

Berlaku untuk: Gudang di Microsoft Fabric

Gudang di Microsoft Fabric menawarkan alat penyerapan data bawaan yang memungkinkan pengguna untuk menyerap data ke dalam gudang dalam skala besar menggunakan pengalaman bebas kode atau kaya kode.

Opsi penyerapan data

Anda dapat menyerap data ke gudang menggunakan salah satu opsi berikut:

  • COPY (Transact-SQL): pernyataan COPY menawarkan penyerapan data throughput tinggi yang fleksibel dari akun penyimpanan Azure eksternal. Anda dapat menggunakan pernyataan COPY sebagai bagian dari logika ETL/ELT yang ada dalam kode Transact-SQL.
  • Alur data: alur menawarkan pengalaman bebas kode atau kode rendah untuk penyerapan data. Dengan menggunakan alur, Anda dapat mengatur alur kerja yang kuat untuk pengalaman Ekstrak, Transformasi, Muat (ETL) lengkap yang mencakup aktivitas untuk membantu menyiapkan lingkungan tujuan, menjalankan pernyataan Transact-SQL kustom, melakukan pencarian, atau menyalin data dari sumber ke tujuan.
  • Aliran data: alternatif untuk alur, aliran data memungkinkan persiapan, pembersihan, dan transformasi data yang mudah menggunakan pengalaman bebas kode.
  • Penyerapan lintas gudang: penyerapan data dari sumber ruang kerja juga dimungkinkan. Skenario ini mungkin diperlukan ketika ada kebutuhan untuk membuat tabel baru dengan subset tabel yang berbeda, atau sebagai akibat dari menggabungkan tabel yang berbeda di gudang dan di lakehouse. Untuk penyerapan lintas gudang, selain opsi yang disebutkan, fitur Transact-SQL seperti INSERT... SELECT, SELECT INTO, atau CREATE TABLE AS SELECT (CTAS) bekerja lintas gudang dalam ruang kerja yang sama.

Memutuskan alat penyerapan data mana yang akan digunakan

Untuk memutuskan opsi penyerapan data mana yang akan digunakan, Anda bisa menggunakan kriteria berikut:

  • Gunakan pernyataan COPY (Transact-SQL) untuk operasi penyerapan data kaya kode, untuk throughput penyerapan data tertinggi yang mungkin, atau ketika Anda perlu menambahkan penyerapan data sebagai bagian dari logika Transact-SQL. Untuk sintaks, lihat COPY INTO (Transact-SQL).
  • Gunakan alur data untuk alur kerja penyerapan data bebas kode atau rendah, dan kuat yang berjalan berulang kali, sesuai jadwal, atau yang melibatkan data dalam volume besar. Untuk informasi selengkapnya, lihat Menyerap data menggunakan alur Data.
  • Gunakan aliran data untuk pengalaman bebas kode yang memungkinkan transformasi kustom untuk sumber data sebelum diserap. Transformasi ini termasuk (tetapi tidak terbatas pada) mengubah jenis data, menambahkan atau menghapus kolom, atau menggunakan fungsi untuk menghasilkan kolom terhitung. Untuk informasi selengkapnya, lihat Aliran Data.
  • Gunakan penyerapan lintas gudang untuk pengalaman kaya kode untuk membuat tabel baru dengan data sumber dalam ruang kerja yang sama. Untuk informasi selengkapnya, lihat Menyerap data menggunakan Transact-SQL dan Menulis kueri lintas database.

Catatan

Pernyataan COPY di Gudang hanya mendukung sumber data di akun penyimpanan Azure, dengan autentikasi menggunakan ke Tanda Tangan Akses Bersama (SAS), Kunci Akun Penyimpanan (SAK), atau akun dengan akses publik. Untuk batasan lain, lihat COPY (Transact-SQL).

Format dan sumber data yang didukung

Penyerapan data untuk Gudang di Microsoft Fabric menawarkan sejumlah besar format dan sumber data yang dapat Anda gunakan. Setiap opsi yang diuraikan mencakup daftar jenis konektor data dan format data yang didukung sendiri.

Untuk penyerapan lintas gudang, sumber data harus berada dalam ruang kerja Microsoft Fabric yang sama. Kueri dapat dilakukan menggunakan penamaan tiga bagian untuk data sumber.

Sebagai contoh, misalkan ada dua gudang bernama Inventory dan Sales di ruang kerja. Kueri seperti yang berikut ini membuat tabel baru di gudang Inventori dengan konten tabel di gudang Inventori, yang digabungkan dengan tabel di gudang Penjualan:

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
    AND s.Region = 'West region'

Pernyataan COPY (Transact-SQL) saat ini mendukung format file PARQUET dan CSV. Untuk sumber data, saat ini Azure Data Lake Storage (ADLS) Gen2 dan Azure Blob Storage didukung.

Alur data dan aliran data mendukung berbagai sumber data dan format data. Untuk informasi selengkapnya, lihat Alur data dan Aliran Data.

Praktik Terbaik

Fitur perintah COPY di Gudang di Microsoft Fabric menggunakan antarmuka sederhana, fleksibel, dan cepat untuk penyerapan data throughput tinggi untuk beban kerja SQL. Dalam versi saat ini, kami hanya mendukung pemuatan data dari akun penyimpanan eksternal.

Anda juga dapat menggunakan TSQL untuk membuat tabel baru lalu menyisipkannya, lalu memperbarui dan menghapus baris data. Data dapat disisipkan dari database apa pun dalam ruang kerja Microsoft Fabric 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 menggunakan pernyataan INSERT singleton, karena ini menyebabkan performa yang buruk pada kueri dan pembaruan. Jika pernyataan INSERT singleton digunakan untuk penyerapan data secara berturut-turut, sebaiknya buat tabel baru dengan menggunakan CREATE TABLE AS SELECT (CTAS) atau INSERT... POLA SELECT, menjatuhkan tabel asli, lalu membuat tabel Anda lagi dari tabel yang Anda buat menggunakan CREATE TABLE AS SELECT (CTAS) atau INSERT... PILIH.
  • Saat bekerja dengan data eksternal pada file, kami sarankan 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 bersama-sama sehingga hanya terlihat saat membaca satu atau beberapa tabel saat transaksi diterapkan sepenuhnya. Anda juga memiliki kemampuan untuk mengembalikan transaksi jika salah satu perubahan gagal.
  • Jika SELECT berada dalam transaksi, dan didahului oleh penyisipan data, statistik yang dihasilkan secara otomatis dapat tidak akurat setelah pemutaran kembali. Statistik yang tidak akurat dapat menyebabkan rencana kueri dan waktu eksekusi yang tidak optimal. Jika Anda mengembalikan transaksi dengan SELECT setelah INSERT besar, perbarui statistik untuk kolom yang disebutkan dalam SELECT Anda.

Catatan

Terlepas dari bagaimana Anda menyerap data ke dalam gudang, file parket yang dihasilkan oleh tugas penyerapan data akan dioptimalkan menggunakan pengoptimalan tulis V-Order. V-Order mengoptimalkan file parket untuk mengaktifkan pembacaan cepat kilat di bawah 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, masih memastikan file parket mematuhi 100% spesifikasi sumber terbukanya. Tidak seperti di Fabric Rekayasa Data, V-Order adalah pengaturan global di Synapse Data Warehouse yang tidak dapat dinonaktifkan.