Aracılığıyla paylaş


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 GitHubtutulan 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.

varlık ayarları

  • 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.

varlık biçimi

  • Çıkış dosyasının konumunu ve bildirim dosyasının konumunu ve adını ayarlayın.

cdm konumu

Ş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.

CDM havuz ayarları

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:

  1. model.json dosyasını metin düzenleyicisinde açma
  2. Bölümleri bulun. Konum özelliği
  3. "blob.core.windows.net" öğesini "dfs.core.windows.net" olarak değiştirin
  4. "/" URL'sindeki "%2F" kodlamasını düzeltin
  5. 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

Eşleme veri akışında bir kaynak dönüştürmesi oluşturun.