Azure Data Factory ve Synapse Analytics'te Ortak Veri Modeli biçimi
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!
Ortak Veri Modeli (CDM) meta veri sistemi, verilerin ve anlamının uygulamalar ve iş süreçleri arasında kolayca paylaşılabilmesini sağlar. Daha fazla bilgi edinmek için bkz. Ortak Veri Modeline genel bakış.
Azure Data Factory ve Synapse işlem hatlarında kullanıcılar, eşleme veri akışlarını kullanarak Azure Data Lake Store 2. Nesil'de (ADLS 2. Nesil) depolanan model.json ve bildirim formundaki CDM varlıklarından verileri dönüştürebilir. Ayrıca, verilerinizi bölümlenmiş klasörlerde CSV veya Parquet biçiminde alacak CDM varlık başvurularını kullanarak verileri CDM biçiminde de havuza alabilirsiniz.
Eşleme veri akışı özellikleri
Ortak Veri Modeli, veri akışlarını hem kaynak hem de havuz olarak eşlemede satır içi veri kümesi olarak kullanılabilir.
Not
CDM varlıkları yazarken, başvuru olarak kullanmak üzere zaten tanımlanmış bir CDM varlık tanımına (meta veri şeması) sahip olmanız gerekir. Veri akışı havuzu bu CDM varlık dosyasını okur ve alan eşlemesi için şemayı havuzunuza aktarır.
Kaynak özellikleri
Aşağıdaki tabloda CDM kaynağı tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz.
Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
---|---|---|---|---|
Biçimlendir | Biçim şu şekilde olmalıdır: cdm |
evet | cdm |
format |
Meta veri biçimi | Verilere varlık başvurusunun bulunduğu yer. CDM sürüm 1.0 kullanıyorsanız bildirim'i seçin. 1.0'ın öncesi bir CDM sürümü kullanıyorsanız model.json'ı seçin. | Yes | 'manifest' veya 'model' |
manifestType |
Kök konum: kapsayıcı | CDM klasörünün kapsayıcı adı | evet | String | fileSystem |
Kök konum: klasör yolu | CDM klasörünün kök klasör konumu | evet | String | folderPath |
Bildirim dosyası: Varlık yolu | Kök klasör içindeki varlığın klasör yolu | hayır | String | entityPath |
Bildirim dosyası: Bildirim adı | Bildirim dosyasının adı. Varsayılan değer 'default' | Hayır | String | manifestName |
Son değiştirme ölçütüne göre filtrele | Dosyaları son değiştirilme zamanlarına göre filtrelemeyi seçin | hayır | Zaman damgası | modifiedAfter modifiedBefore |
Şema bağlı hizmeti | Corpus'un bulunduğu bağlı hizmet | Evet, bildirim kullanıyorsanız | 'adlsgen2' veya 'github' |
corpusStore |
Varlık başvuru kapsayıcısı | Kapsayıcı corpus içinde | Evet, ADLS 2. Nesil'de bildirim ve corpus kullanıyorsanız | String | adlsgen2_fileSystem |
Varlık başvurusu Deposu | GitHub deposunun adı | Evet, GitHub'da bildirim ve corpus kullanıyorsanız | String | github_repository |
Varlık başvurusu Dalı | GitHub depo dalı | Evet, GitHub'da bildirim ve corpus kullanıyorsanız | String | github_branch |
Corpus klasörü | corpus'un kök konumu | Evet, bildirim kullanıyorsanız | String | corpusPath |
Corpus varlığı | Varlık başvurusu yolu | evet | String | entity |
Dosya bulunamadığında izin ver | True ise, hiçbir dosya bulunamazsa hata oluşmaz | hayır | true veya false |
ignoreNoFilesFound |
Hem Kaynak hem de Havuz dönüştürmelerinde "Varlık Başvurusu" seçeneğini belirlerken, varlık başvurunuzun konumu için şu üç seçenekten birini seçebilirsiniz:
- Yerel, hizmet tarafından kullanılmakta olan bildirim dosyasında tanımlanan varlığı kullanır
- Özel, hizmetin kullandığı bildirim dosyasından farklı bir varlık bildirim dosyasını göstermenizi ister
- Standard, içinde
GitHub
tutulan cdm varlıklarının standart kitaplığından bir varlık başvurusu kullanır.
Havuz ayarları
- Yazmak istediğiniz varlığın tanımını içeren CDM varlık başvuru dosyasının üzerine gelin.
- Hizmetin varlıklarınızı yazmak için kullanmasını istediğiniz çıkış dosyalarının bölüm yolunu ve biçimini tanımlayın.
- Çıkış dosyasının konumunu ve bildirim dosyasının konumunu ve adını ayarlayın.
Şemayı içeri aktarma
CDM yalnızca satır içi veri kümesi olarak kullanılabilir ve varsayılan olarak ilişkili bir şeması yoktur. Sütun meta verilerini almak için Projeksiyon sekmesinde şemayı içeri aktar düğmesine tıklayın. Bu, corpus tarafından belirtilen sütun adlarına ve veri türlerine başvurmanızı sağlar. Şemayı içeri aktarmak için bir veri akışı hata ayıklama oturumunun etkin olması ve işaret edecek mevcut bir CDM varlık tanımı dosyanız olması gerekir.
Havuz dönüşümünde veri akışı sütunlarını varlık özellikleriyle eşlerken, "Eşleme" sekmesine tıklayın ve "Şemayı İçeri Aktar" seçeneğini belirleyin. Hizmet, Havuz seçeneklerinizde işaret ettiğiniz varlık başvurusunu okuyarak hedef CDM şemasına eşlemenizi sağlar.
Not
Power BI veya Power Platform veri akışlarından kaynaklanan model.json kaynak türünü kullanırken, kaynak dönüştürme işleminde "corpus yolu null veya boş" hatalarıyla karşılaşabilirsiniz. Bunun nedeni büyük olasılıkla model.json dosyasındaki bölüm konumu yolunu biçimlendirme sorunlarıdır. Bunu düzeltmek için şu adımları izleyin:
- model.json dosyasını metin düzenleyicisinde açma
- Bölümleri bulun. Konum özelliği
- "blob.core.windows.net" öğesini "dfs.core.windows.net" olarak değiştirin
- "/" URL'sindeki "%2F" kodlamasını düzeltin
- ADF Veri Akışı kullanılıyorsa, bölüm dosyası yolundaki özel karakterler alfasayısal değerlerle değiştirilmelidir veya Azure Synapse Veri Akışı s'e geçilmelidir
CDM kaynak veri akışı betiği örneği
source(output(
ProductSizeId as integer,
ProductColor as integer,
CustomerId as string,
Note as string,
LastModifiedDate as timestamp
),
allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
manifestType: 'manifest',
manifestName: 'ProductManifest',
entityPath: 'Product',
corpusPath: 'Products',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
folderPath: 'ProductData',
fileSystem: 'data') ~> CDMSource
Havuz özellikleri
Aşağıdaki tabloda CDM havuzu tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz.
Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
---|---|---|---|---|
Biçimlendir | Biçim şu şekilde olmalıdır: cdm |
evet | cdm |
format |
Kök konum: kapsayıcı | CDM klasörünün kapsayıcı adı | evet | String | fileSystem |
Kök konum: klasör yolu | CDM klasörünün kök klasör konumu | evet | String | folderPath |
Bildirim dosyası: Varlık yolu | Kök klasör içindeki varlığın klasör yolu | hayır | String | entityPath |
Bildirim dosyası: Bildirim adı | Bildirim dosyasının adı. Varsayılan değer 'default' | Hayır | String | manifestName |
Şema bağlı hizmeti | Corpus'un bulunduğu bağlı hizmet | evet | 'adlsgen2' veya 'github' |
corpusStore |
Varlık başvuru kapsayıcısı | Kapsayıcı corpus içinde | Evet, ADLS 2. Nesil'de corpus ise | String | adlsgen2_fileSystem |
Varlık başvurusu Deposu | GitHub deposunun adı | Evet, GitHub'da corpus ise | String | github_repository |
Varlık başvurusu Dalı | GitHub depo dalı | Evet, GitHub'da corpus ise | String | github_branch |
Corpus klasörü | corpus'un kök konumu | evet | String | corpusPath |
Corpus varlığı | Varlık başvurusu yolu | evet | String | entity |
Bölüm yolu | Bölümün yazılacağı konum | hayır | String | partitionPath |
Klasörü temizleme | Hedef klasör yazmadan önce temizlenirse | hayır | true veya false |
truncate |
Biçim türü | Parquet biçimini belirtmeyi seçin | hayır | parquet belirtildiyse |
alt biçim |
Sütun sınırlayıcısı | DelimitedText'e yazıyorsanız, sütunları sınırlandırma | Evet, DelimitedText'e yazıyorsanız | String | columnDelimiter |
Üst bilgi olarak ilk satır | DelimitedText kullanılıyorsa, sütun adlarının üst bilgi olarak eklenip eklenmediği | hayır | true veya false |
columnNamesAsHeader |
CDM havuz veri akışı betiği örneği
İlişkili veri akışı betiği:
CDMSource sink(allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
entityPath: 'ProductSize',
manifestName: 'ProductSizeManifest',
corpusPath: 'Products',
partitionPath: 'adf',
folderPath: 'ProductSizeData',
fileSystem: 'cdm',
subformat: 'parquet',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
truncate: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> CDMSink
İlgili içerik
Eşleme veri akışında bir kaynak dönüştürmesi oluşturun.