Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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 INSERTdeyimini de destekler. Fabric Data Warehouse'te bu ifade, klasik yükleme seçeneklerindekiCOPY INTOdavranışına karşılık gelir. -
COPYWarehouse deyimi, Azure depolama hesaplarından ve OneLake lakehouse klasörlerinden veri kaynaklarını destekler. - Kaynağa erişirken Fabric çalışma alanı kimliğine bürünmek için
CREDENTIALyan tümcesindeWorkspace Identitybelirtin. Örneğin,CREDENTIAL = (IDENTITY = 'Workspace Identity'). Bu ifade, mevcut kullanıcının SQL güvenlik bağlamında çalışmaya devam ediyor.
- 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#
SqlBulkCopyve Java gibi bcp.exe betikleri veSQLServerBulkCopyuygulama 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 INTOtercih 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 INTOveyaCREATE 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şvuranOPENROWSETiş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) ifadesi CSV, JSONL ve PARQUET dosya formatlarını destekler. Desteklenen veri kaynakları arasında Azure Data Lake Storage (ADLS) Gen2, Azure Blob Depolama ve OneLake bulunur.
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ı.
COPY INTO ile Çalışma Alanı Kimliğini kullanın
Kaynak verilere erişimi, hedef veri ambarı tablosuna yazma izninden ayırmak için Çalışma Alanı Kimliği ile COPY INTO kullanın. Workspace Identity, Azure Blob Depolama, ADLS Gen2 ve OneLake kaynakları için desteklenmektedir. Bu ifade mevcut kullanıcının SQL güvenlik bağlamında çalışır.
WITH (CREDENTIAL = (IDENTITY = 'Workspace Identity')) yan tümcesi, COPY INTO öğesinin yalnızca kaynağa eriştiğinde çalışma alanı kimliğine bürünmesine izin verir. Tüm SQL izinleri ve denetim ilişkilendirmesi, işlemi yürüten kullanıcıyla ilişkili olmaya devam eder.
Workspace Identity olmadan, öğe paylaşımı aracılığıyla depoya erişim kazanan bir kullanıcı, en az Öğeyi okuma izni ve gerekli SQL izinleriyle COPY INTO çalıştırabilir.
Workspace Identity ile çalışmadan COPY INTO önce aşağıdaki kurulumu tamamlayın:
- Hedef depoyu içeren çalışma alanı için bir çalışma alanı kimliği yapılandırın.
- Çalışma alanı kimliğine kaynağa erişim izni verin:
- Azure Blob Depolama ve ADLS Gen2 için, çalışma alanı adına göre çalışma alanı kimliğini bulun ve depolama hesabı veya kapsayıcı üzerinde Storage Blob Data Reader rolünü atayın. ADLS Gen2 dizin düzeyinde erişim için gerekli ACL izinlerini verin. Çalışma alanı kimliğine, bir Microsoft Entra kullanıcısına yaptığınız gibi yetkiler atayın.
- OneLake için, çalışma alanı adını kullanarak çalışma alanı kimliğini bulun, bunu kaynak verileri içeren çalışma alanına ekleyin ve en az Katkıda Bulunan çalışma alanı rolünü atayın.
- Hedef depoyu içeren çalışma alanında en azından uygulayıcı kullanıcıya Viewer rolünü atayın. Sadece öğe izinleri bir kullanıcının çalışma alanı kimliğini taklit etmesine izin vermez. Çalışma alanı rolü gereksinimi yalnızca kullanıcı Workspace Identity'yi belirttiğinde geçerlidir.
- Hedef tabloda yürüten kullanıcıya
INSERTizin verin. Kimlik bilgisi olarak Workspace Identity kullanıldığında,ADMINISTER DATABASE BULK OPERATIONSizni gerekmez.
Aşağıdaki örnek, kaynak erişim için Workspace Identity'yi taklit ederek OneLake'ten bir CSV dosyası yükler:
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
Duyarlılık etiketi politikaları kuruluşa göre değişir.
COPY INTO hedefte işlemi engelleyen kısıtlamalara sahip bir hassasiyet etiketi olduğunda başarısız olabilir. Eğer bir hassasiyet etiketi hata sebep olursa, komutu tekrar denelemeden önce etiketi hedeften kaldırın.
En iyi yöntemler
Microsoft Fabric'teki Warehouse komutu, COPY Azure Depolama ve OneLake'ten SQL iş yükleri için yüksek verimli veri alımı için basit, esnek ve hızlı bir arayüz sağlar.
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
INSERTdeyimlerini kullanarak veri almaktan kaçının. Veri alımı için peş peşe singletonINSERTifadeleri kullanıyorsanız,CREATE TABLE AS SELECT (CTAS)veyaINSERT...SELECTdesenlerini kullanarak yeni bir tablo oluşturun, orijinal tabloyu silin veCREATE 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.SELECTiçeren bir işlemi büyük birINSERTsonrasında geri alırsanız, öğenizde belirtilen sütunlar içinSELECT.
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.
COPY komutu hangi kimlik bilgilerini belirtmezsem kullanır?
Varsayılan olarak, COPY INTO kaynak erişim için yürüten kullanıcının Microsoft Entra kimliği kullanılır.