Eşleme veri akışında havuz dönüşümü

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Veri akışları hem Azure Data Factory'de hem de Azure Synapse Pipelines'da kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz lütfen eşleme veri akışı kullanarak verileri dönüştürme başlıklı giriş makalesine bakın.

Verilerinizi dönüştürmeyi tamamladıktan sonra havuz dönüşümünü kullanarak bir hedef depoya yazın. Her veri akışı için en az bir havuz dönüşümü gerekir, ancak dönüştürme akışınızı tamamlamak için gereken sayıda havuza yazabilirsiniz. Ek havuzlara yazmak için yeni dallar ve koşullu bölmeler aracılığıyla yeni akışlar oluşturun.

Her havuz dönüşümü tam olarak bir veri kümesi nesnesi veya bağlı hizmetle ilişkilendirilir. Havuz dönüşümü, yazmak istediğiniz verilerin şeklini ve konumunu belirler.

Satır içi veri kümeleri

Havuz dönüşümü oluşturduğunuzda, havuz bilgilerinizin bir veri kümesi nesnesi içinde mi yoksa havuz dönüşümü içinde mi tanımlandığını seçin. Çoğu biçim yalnızca birinde veya diğerinde kullanılabilir. Belirli bir bağlayıcıyı kullanmayı öğrenmek için uygun bağlayıcı belgesine bakın.

Hem satır içi hem de veri kümesi nesnesi için bir biçim desteklendiğinde, her ikisinin de avantajları vardır. Veri kümesi nesneleri, diğer veri akışlarında ve Kopyala gibi etkinliklerde kullanılabilen yeniden kullanılabilir varlıklardır. Bu yeniden kullanılabilir varlıklar özellikle sağlamlaştırılmış bir şema kullandığınızda kullanışlıdır. Veri kümeleri Spark'ta temel değildir. Bazen havuz dönüşümünde belirli ayarları veya şema projeksiyonunu geçersiz kılmanız gerekebilir.

Esnek şemalar, tek seferlik havuz örnekleri veya parametreli havuzlar kullandığınızda satır içi veri kümeleri önerilir. Havuzunuz büyük ölçüde parametreliyse, satır içi veri kümeleri "kukla" nesnesi oluşturmamanızı sağlar. Satır içi veri kümeleri Spark'ı temel alır ve özellikleri veri akışında yereldir.

Satır içi veri kümesi kullanmak için Havuz türü seçicisinde istediğiniz biçimi seçin. Havuz veri kümesini seçmek yerine bağlanmak istediğiniz bağlı hizmeti seçersiniz.

Screenshot that shows Inline selected.

Çalışma Alanı VERITABANı (yalnızca Synapse çalışma alanları)

Azure Synapse çalışma alanlarında veri akışlarını kullanırken, verilerinizi doğrudan Synapse çalışma alanınızın içindeki bir veritabanı türüne havuza almak için ek bir seçeneğiniz olur. Bu, bu veritabanları için bağlı hizmetler veya veri kümeleri ekleme gereksinimini ortadan kaldırmak için. Çalışma Alanı VERITABANı'nı seçtiğinizde Azure Synapse veritabanı şablonları aracılığıyla oluşturulan veritabanlarına da erişilebilir.

Not

Azure Synapse Workspace DB bağlayıcısı şu anda genel önizleme aşamasındadır ve şu anda yalnızca Spark Lake veritabanlarıyla çalışabilir

Screenshot that shows workspace db selected.

Desteklenen havuz türleri

Eşleme veri akışı ayıklama, yükleme ve dönüştürme (ELT) yaklaşımını izler ve tümü Azure'da bulunan hazırlama veri kümeleriyle çalışır. Şu anda aşağıdaki veri kümeleri havuz dönüşümünde kullanılabilir.

Bağlayıcı Biçimlendir Veri kümesi/satır içi
Azure Blob Depolama Avro
Sınırlandırılmış metin
Delta
JSON
ORC
Parke
✓/✓
✓/✓
-/✓
✓/✓
✓/✓
✓/✓
NoSQL için Azure Cosmos DB ✓/-
Azure Data Lake Storage Gen1 Avro
Sınırlandırılmış metin
JSON
ORC
Parke
✓/-
✓/-
✓/-
✓/✓
✓/-
Azure Data Lake Storage 2. Nesil Avro
Common Data Model
Sınırlandırılmış metin
Delta
JSON
ORC
Parke
✓/✓
-/✓
✓/✓
-/✓
✓/✓
✓/✓
✓/✓
MySQL için Azure Veritabanı ✓/✓
PostgreSQL için Azure Veritabanı ✓/✓
Azure Veri Gezgini ✓/✓
Azure SQL Veritabanı ✓/✓
Azure SQL Yönetilen Örnek ✓/-
Azure Synapse Analytics ✓/-
Dataverse ✓/✓
Dynamics 365 ✓/✓
Dynamics CRM ✓/✓
Fabric Lakehouse ✓/✓
SFTP Avro
Sınırlandırılmış metin
JSON
ORC
Parke
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Snowflake ✓/✓
SQL Server ✓/✓

Bu bağlayıcılara özgü Ayarlar Ayarlar sekmesinde bulunur. Bu ayarlardaki bilgi ve veri akışı betiği örnekleri bağlayıcı belgelerinde bulunur.

Hizmetin 90'dan fazla yerel bağlayıcıya erişimi vardır. Veri akışınızdaki diğer kaynaklara veri yazmak için Kopyalama Etkinliği'ni kullanarak bu verileri desteklenen bir havuzdan yükleyin.

Havuz ayarları

Havuz ekledikten sonra Havuz sekmesi aracılığıyla yapılandırın. Burada havuzunuzun yazdığı veri kümesini seçebilir veya oluşturabilirsiniz. Veri kümesi parametreleri için geliştirme değerleri Hata ayıklama ayarlarında yapılandırılabilir. (Hata ayıklama modu açık olmalıdır.)

Aşağıdaki videoda, metinle ayrılmış dosya türleri için çeşitli havuz seçenekleri açıklanmaktadır.

Screenshot that shows Sink settings.

Şema kayması: Şema kayması, hizmetin sütun değişikliklerini açıkça tanımlamaya gerek kalmadan veri akışlarınızdaki esnek şemaları yerel olarak işleyebilmesidir. Havuz veri şemasında tanımlananların üzerine ek sütunlar yazmak için Şema kaymasına izin ver'i etkinleştirin.

Şemayı doğrulama: Şemayı doğrula seçiliyse, havuz projeksiyonundaki herhangi bir sütun havuz deposunda bulunmazsa veya veri türleri eşleşmezse veri akışı başarısız olur. Havuz şemasının tanımlı projeksiyonunuzun sözleşmesini karşılamasını zorunlu kılmak için bu ayarı kullanın. Veritabanı havuzu senaryolarında sütun adlarının veya türlerinin değiştiğine işaret etmek yararlıdır.

Önbellek havuzu

Önbellek havuzu, bir veri akışının veri deposu yerine Spark önbelleğine veri yazmasıdır. Eşleme veri akışlarında, önbellek araması kullanarak bu verilere aynı akış içinde birçok kez başvurabilirsiniz. Bu, bir ifadenin parçası olarak verilere başvurmak istediğinizde ancak sütunları açıkça buna birleştirmek istemediğinizde kullanışlıdır. Bir önbellek havuzu, veri deposunda en yüksek değeri aramak ve hata iletisi veritabanıyla hata kodları eşleştirmek için yaygın örneklerdir.

Önbellek havuzuna yazmak için havuz dönüşümü ekleyin ve havuz türü olarak Önbellek'i seçin. Diğer havuz türlerinden farklı olarak, bir dış depoya yazmadığınız için veri kümesi veya bağlı hizmet seçmeniz gerekmez.

Select cache sink

Havuz ayarlarında, isteğe bağlı olarak önbellek havuzundaki anahtar sütunlarını belirtebilirsiniz. Bunlar, işlevi önbellek aramasında kullanırken lookup() eşleşen koşullar olarak kullanılır. Anahtar sütunları belirtirseniz, işlevi önbellek aramasında kullanamazsınız outputs() . Önbellek arama söz dizimi hakkında daha fazla bilgi edinmek için bkz . önbelleğe alınmış aramalar.

Cache sink key columns

Örneğin, adlı cacheExamplebir önbellek havuzundaki tek bir anahtar sütunu column1 belirtirsem, çağrısının cacheExample#lookup() önbellek havuzundaki hangi satırın eşleşeceğini belirten bir parametresi olur. işlevi, eşlenen her sütun için alt sütun içeren tek bir karmaşık sütun çıkarır.

Not

Önbellek havuzu, bir önbellek araması aracılığıyla başvuruda bulunan herhangi bir dönüştürmeden tamamen bağımsız bir veri akışında olmalıdır. Önbellek havuzu da yazılan ilk havuz olmalıdır.

Etkinlik çıkışına yazma Önbelleğe alınan havuz isteğe bağlı olarak çıkış verilerinizi sonraki işlem hattı etkinliğinin girişine yazabilir. Bu, verileri bir veri deposunda kalıcı hale getirmek zorunda kalmadan veri akışı etkinliğinizden hızlı ve kolay bir şekilde veri geçirmenizi sağlar.

Güncelleştirme yöntemi

Veritabanı havuz türleri için Ayarlar sekmesi bir "Update method" özelliği içerir. Varsayılan değer ekle'dir, ancak güncelleştirme, upsert ve silme için onay kutusu seçeneklerini de içerir. Bu ek seçenekleri kullanmak için havuza bir Alter Row dönüştürmesi eklemeniz gerekir. Değiştirme Satırı, veritabanı eylemlerinin her biri için koşulları tanımlamanıza olanak sağlar. Kaynağınız yerel bir CDC etkinleştirme kaynağıysa, ADF ekleme, güncelleştirme, upsert ve silme için satır işaretleyicilerinin farkında olduğundan, güncelleştirme yöntemlerini Değiştirme Satırı olmadan ayarlayabilirsiniz.

Alan eşleme

Seçme dönüştürmesine benzer şekilde, havuzun Eşleme sekmesinde, hangi gelen sütunların yazılacağına karar vekleyebilirsiniz. Varsayılan olarak, sürüklenen sütunlar da dahil olmak üzere tüm giriş sütunları eşlenir. Bu davranış otomatik eşleme olarak bilinir.

Otomatik eşlemeyi kapattığınızda sabit sütun tabanlı eşlemeler veya kural tabanlı eşlemeler ekleyebilirsiniz. Kural tabanlı eşlemelerle, desen eşleştirmeli ifadeler yazabilirsiniz. Eşlemenin mantıksal ve fiziksel sütun adlarını eşlemesi düzeltildi. Kural tabanlı eşleme hakkında daha fazla bilgi için bkz . Eşleme veri akışındaki sütun desenleri.

Özel havuz sıralaması

Varsayılan olarak, veriler belirsiz bir sırada birden çok havuza yazılır. Dönüştürme mantığı tamamlandıktan sonra yürütme altyapısı verileri paralel olarak yazar ve havuz sıralaması her çalıştırmayı değiştirebilir. Tam havuz sıralamasını belirtmek için veri akışının Genel sekmesinde Özel havuz sıralamasını etkinleştirin. Etkinleştirildiğinde havuzlar artan düzende sıralı olarak yazılır.

Screenshot that shows Custom sink ordering.

Not

Önbelleğe alınmış aramalardan yararlanırken havuz sıralamanızda önbelleğe alınmış havuzların sırasıyla en düşük (veya ilk) olan 1 olarak ayarlandığından emin olun.

Custom sink ordering

Havuz grupları

Bir dizi havuz için aynı sipariş numarasını uygulayarak havuzları birlikte gruplandırabilirsiniz. Hizmet, bu havuzları paralel olarak yürütülebilecek gruplar olarak ele alır. Paralel yürütme seçenekleri işlem hattı veri akışı etkinliğinde görünür.

Hatalar

Havuz hataları sekmesinde, veritabanı sürücüsü hataları ve başarısız onaylar için çıkışı yakalamak ve yeniden yönlendirmek için hata satırı işlemeyi yapılandırabilirsiniz.

Veritabanlarına yazarken, hedef tarafından ayarlanan kısıtlamalar nedeniyle belirli veri satırları başarısız olabilir. Varsayılan olarak, veri akışı çalıştırması aldığı ilk hatada başarısız olur. Belirli bağlayıcılarda, tek tek satırlarda hata olsa bile veri akışınızın tamamlanmasını sağlayan Hatada devam etmeyi seçebilirsiniz. Şu anda bu özellik yalnızca Azure SQL Veritabanı ve Azure Synapse'te kullanılabilir. Daha fazla bilgi için bkz . Azure SQL DB'de hata satırı işleme.

Aşağıda, havuz dönüştürmenizde veritabanı hata satırı işlemeyi otomatik olarak kullanma hakkında bir video öğreticisi yer almaktadır.

Onay hatası satırları için veri akışınızda Assert dönüştürme yukarı akışını kullanabilir ve ardından başarısız onayları havuz hataları sekmesindeki bir çıkış dosyasına yeniden yönlendirebilirsiniz. Burada onay hatalarına sahip satırları yoksayma ve bu satırları havuz hedef veri deposuna hiç vermeme seçeneğiniz de vardır.

Assert failure rows

Havuzdaki veri önizlemesi

Hata ayıklama modunda veri önizlemesi getirilirken havuzunuza hiçbir veri yazılamaz. Verilerin nasıl göründüğüne ilişkin bir anlık görüntü döndürülür, ancak hedefinize hiçbir şey yazılamaz. Havuzunuza veri yazmayı test etmek için işlem hattı tuvalinden bir işlem hattı hata ayıklaması çalıştırın.

Veri akışı betiği

Örnek

Aşağıda bir havuz dönüşümü ve veri akışı betiği örneği verilmiştir:

sink(input(
		movie as integer,
		title as string,
		genres as string,
		year as integer,
		Rating as integer
	),
	allowSchemaDrift: true,
	validateSchema: false,
	deletable:false,
	insertable:false,
	updateable:true,
	upsertable:false,
	keys:['movie'],
	format: 'table',
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true,
	saveOrder: 1,
	errorHandlingOption: 'stopOnFirstError') ~> sink1

Veri akışınızı oluşturduğunuza göre işlem hattınıza bir veri akışı etkinliği ekleyin.