Veri ambarına veri almaya

Şunlar için geçerlidir:✅ Microsoft Fabric'te Ambar

Microsoft Fabric'deki Depo, yerleşik veri alma araçları sunar. Kod içermeyen veya kod açısından zengin deneyimler kullanarak verileri büyük ölçekte depolara almak için bu araçları kullanın.

Veri alımı aracı seçme

Aşağıdaki ölçütlere göre bir veri alımı seçeneği belirleyin:

  • Kod açısından zengin veri alımı işlemleri için COPY (Transact-SQL) deyimini kullanın. En yüksek veri alımı aktarım hızını sağlar. Transact-SQL mantığınızın bir parçası olarak veri alımı eklemeniz gerektiğinde bunu kullanın.
    • Başlamak için COPY deyimini kullanarak veri alma kısmına bakın.
    • Warehouse, uyumluluk için geleneksel BULK INSERT deyimini de destekler. Fabric Data Warehouse'te bu ifade, klasik yükleme seçeneklerindeki COPY INTO davranışına karşılık gelir.
    • COPY Warehouse deyimi, Azure depolama hesaplarından ve OneLake lakehouse klasörlerinden veri kaynaklarını destekler.
  • Veriler uygulama katmanınızda olduğunda ve dosyaları önce hazırlayamazsanız doğrudan istemci tarafı alımı için BCP API'sini (Önizleme) kullanın.
    • Başlamak için bkz. BCP API'sini (Önizleme) kullanarak veri alma.
    • BCP API'si, C# SqlBulkCopy ve Java gibi bcp.exe betikleri ve SQLServerBulkCopyuygulama API'lerini destekler.
    • En yüksek aktarım hacmi için, ara depolama mümkün olduğunda dosya tabanlı veri alma işleminde COPY INTO tercih edin.
  • Kodsuz veya düşük kodlu, sürekli olarak, zamanlamaya göre çalışan veya büyük hacimli veriler içeren güçlü veri alımı iş akışları için işlem hatlarını kullanın.
    • Başlamak için bkz. İşlem hatlarını kullanarak verileri ambarınıza alma.
    • İşlem hatlarını kullanarak tam ayıklama, dönüştürme, yükleme (ETL) deneyimi için sağlam iş akışlarını düzenleyebilirsiniz. Bu deneyim, hedef ortamı hazırlamaya, özel Transact-SQL deyimleri çalıştırmaya, aramalar gerçekleştirmeye veya bir kaynaktan hedefe veri kopyalamaya yardımcı olan etkinlikleri içerir.
  • Veri akışlarını , veri alımı öncesinde kaynak verilere özel dönüştürmelere olanak tanıyan kod içermeyen bir deneyim için kullanın.
    • Başlamak için bkz. Veri akışını kullanarak veri alma.
    • Bu dönüştürmeler arasında veri türlerini değiştirme, sütun ekleme veya kaldırma ya da hesaplanan sütun oluşturmak için işlevleri kullanma sayılabilir (ancak bunlarla sınırlı değildir).
  • Yeni tablolar oluşturmak veya mevcut tabloları aynı çalışma alanı veya dış depolama alanı içindeki kaynak verilerle güncelleştirmek için kod açısından zengin deneyimler için T-SQL alımını kullanın.
    • Başlamak için bkz. Transact-SQL kullanarak verileri Ambarınıza alma.
    • INSERT...SELECT, SELECT INTO veya CREATE TABLE AS SELECT (CTAS) gibi Transact-SQL özellikleri kullanarak aynı çalışma alanı içindeki diğer ambarlara, göl binalarına veya yansıtılmış veritabanlarına başvuran tablolardaki verileri okuyun. Bu özellikleri, dış Azure depolama hesaplarındaki dosyalara başvuran OPENROWSET işlevinden verileri okumak için de kullanabilirsiniz.
    • Ayrıca, Fabric çalışma alanınızdaki farklı ambarlar arasında veritabanları arası sorgular yazabilirsiniz.

Desteklenen veri biçimleri ve kaynaklar

Microsoft Fabric'da Ambar için veri alımı birçok veri biçimi ve kaynağını destekler. Bu makalede özetlenen her seçenek, desteklenen veri bağlayıcısı türlerinin ve veri biçimlerinin kendi listesini içerir.

T-SQL alımı için tablo veri kaynaklarının aynı Microsoft Fabric çalışma alanında ve dosya veri kaynaklarının Azure Data Lake veya Azure Blob depolama alanında olması gerekir. Üç bölümlü adlandırmayı veya OPENROWSET kaynak verilerin işlevini kullanarak verileri sorgulayabilirsiniz. Tablo veri kaynakları Delta Lake veri kümelerine başvurabilirken OPENROWSET Azure Data Lake veya Azure Blob depolama alanındaki Parquet, CSV veya JSONL dosyalarına başvurabilir.

Örneğin, bir çalışma alanında Inventory ve Sales adlı iki ambar olduğunu varsayalım. Aşağıdaki gibi bir sorgu, Inventory ambarındaki bir tablo ve müşteri bilgilerini içeren dış dosyalarla birleştirilmiş olan Inventory ambarındaki tablonun içeriğiyle birlikte Sales ambarında yeni bir tablo oluşturur.

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

Kullanarak OPENROWSET veri okumak, tablodaki verileri sorgulamaktan daha yavaş olabilir. Aynı dış verilere tekrar tekrar erişmeyi planlıyorsanız, performansı ve sorgu verimliliğini artırmak için bunları ayrılmış bir tabloya almayı göz önünde bulundurun.

COPY (Transact-SQL) deyimi şu anda CSV, JSONL ve PARQUET dosya biçimlerini destekler. Veri kaynakları için şu anda Azure Data Lake Storage (ADLS) 2. Nesil ve Azure Blob Depolama desteklenir.

Doğrudan istemci tarafı alım senaryoları için BCP API 'si (Önizleme), önce dosyaları hazırlamadan SQL bağlantıları üzerinden bcp.exe, C# SqlBulkCopyve Java SQLServerBulkCopy gibi araçları ve API'leri destekler.

İşlem hatları ve veri akışları çok çeşitli veri kaynaklarını ve veri biçimlerini destekler. Daha fazla bilgi için bkz . İşlem Hatları ve Veri Akışları.

En iyi yöntemler

Microsoft Fabric'daki Warehouse'daki COPY komutu, SQL iş yükleri için yüksek aktarım hızına sahip veri alımı için basit, esnek ve hızlı bir arabirim sağlar. Geçerli sürümde, yalnızca dış depolama hesaplarından veri yüklemeyi destekler.

Ayrıca T-SQL dilini kullanarak yeni bir tablo oluşturabilir ve tabloya ekleyebilir ve veri satırlarını güncelleştirip silebilirsiniz. Veritabanları arası sorguları kullanarak Microsoft Fabric çalışma alanı içindeki herhangi bir veritabanından veri ekleyebilirsiniz. Lakehouse'dan bir ambara veri almak istiyorsanız, bunu çapraz veritabanı sorgusuyla yapabilirsiniz. Örneğin:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Bu yaklaşım sorgularda ve güncelleştirmelerde düşük performansa neden olduğundan, singleton INSERT deyimlerini kullanarak veri almaktan kaçının. Veri alımı için peş peşe singleton INSERT ifadeleri kullanıyorsanız, CREATE TABLE AS SELECT (CTAS) veya INSERT...SELECT desenlerini kullanarak yeni bir tablo oluşturun, orijinal tabloyu silin ve CREATE TABLE AS SELECT (CTAS) kullanarak oluşturduğunuz tablodan tablonuzu yeniden oluşturun.
    • Mevcut tablonuzu bırakmak, semantik modelde yapmış olabileceğiniz özel ölçüler veya özelleştirmeler de dahil olmak üzere semantik modelinizi etkiler.
  • Dosyalarda dış verilerle çalışırken dosyaların en az 4 MB boyutunda olduğundan emin olun.
  • Büyük sıkıştırılmış CSV dosyaları için dosyanızı birden çok dosyaya bölmeyi göz önünde bulundurun.
  • Azure Data Lake Storage (ADLS) 2. Nesil, Azure Blob Depolama 'den (eski) daha iyi performans sunar. Mümkün olduğunda bir ADLS 2. Nesil hesabı kullanmayı göz önünde bulundurun.
  • Sık çalışan işlem hatları için Azure depolama hesabınızı aynı anda aynı dosyalara erişebilecek diğer hizmetlerden yalıtmayı göz önünde bulundurun.
  • Açık işlemler birden çok veri değişikliğini birlikte gruplandırmanıza olanak sağlar, böylece bunlar yalnızca işlem tam olarak işlendiğinde bir veya daha fazla tablo okunurken görünür hale gelir. Değişikliklerden herhangi biri başarısız olursa işlemi geri alma olanağınız da vardır.
  • Bir SELECT, bir işlem içindeyse ve öncesinde veri eklemeleri yapıldıysa, geri alma sonrasında otomatik olarak oluşturulan istatistikler yanlış olabilir. Yanlış istatistikler, iyileştirilmemiş sorgu planlarına ve yürütme sürelerine yol açabilir. SELECT içeren bir işlemi büyük bir INSERT sonrasında geri alırsanız, SELECT öğenizde belirtilen sütunlar için istatistikleri güncelleştirin.

Note

Verileri ambarlara nasıl aldığınıza bakılmaksızın, veri alma görevi V-Order yazma optimizasyonunu kullanarak ürettiği parquet dosyalarını iyileştirir. V-Order, Parquet dosyalarını Power BI, SQL, Spark ve diğerleri gibi Microsoft Fabric işlem altyapıları altında yıldırım hızında okumaları etkinleştirmek için en iyi duruma getirir. Genel olarak ambar sorguları, bu iyileştirmeyle sorgular için daha hızlı okuma sürelerinden yararlanırken, parquet dosyalarının açık kaynak belirtimleriyle 100% uyumlu olduğundan emin olmaya devam eder. Okuma performansını etkileyebileceğinden V-Order'ı devre dışı bırakmayın. V-Order hakkında daha fazla bilgi için Depo için V-Order'ı Anlama ve Yönetme bölümüne bakın.

Fabric Data Warehouse için veri alımı hakkında sık sorulan sorular

Sıkıştırılmış CSV dosyalarını yüken COPY komutu için dosya bölme kılavuzu nedir?

Özellikle dosya sayısı az olduğunda büyük CSV dosyalarını bölmeyi göz önünde bulundurun, ancak daha iyi performans için dosyaları en az 4 MB'da tutun.

Parquet dosyalarını yüken COPY komutu için dosya bölme kılavuzu nedir?

Özellikle dosya sayısı az olduğunda büyük Parquet dosyalarını bölmeyi göz önünde bulundurun.

Dosyaların sayısı veya boyutuyla ilgili herhangi bir sınırlama var mı?

Dosyaların sayısı veya boyutuyla ilgili herhangi bir sınırlama yoktur. Ancak, en iyi performans için en az 4 MB olan dosyaları kullanın.

Kimlik bilgisi belirtmiyorsam COPY komutu hangi kimlik doğrulama yöntemini kullanır?

Varsayılan olarak, COPY INTO yürüten kullanıcının Microsoft Entra ID kullanır.