Azure Data Factory ve SYNAPSE Analytics 'te ortak veri modeli biçimi

Uygulama hedefi: Azure SYNAPSE Analytics 'i Azure Data Factory

Common Data Model (CDM) meta veri sistemi, verilerin ve anlamının uygulamalar ve iş süreçlerinde kolayca paylaşılmasını olanaklı kılar. Daha fazla bilgi için bkz. ortak veri modeline genel bakış.

Azure Data Factory ve SYNAPSE işlem hatları ' nda, kullanıcılar CDM varlıklarındaki verileri, veri akışlarını eşleme kullanarak Azure Data Lake Store Gen2 (ADLS 2.) içinde depolanan hem model.jshem de bildirim formunda dönüştürebilir. Ayrıca, verilerinizi CSV veya Parquet biçiminde bölümlenmiş klasörlerde barındıracak CDM varlık başvurularını kullanarak CDM biçiminde veri havuzu oluşturabilirsiniz.

Veri akışı özelliklerini eşleme

Ortak veri modeli, kaynak ve havuz olarak eşleme verilerinde bir satır içi veri akışı olarak kullanılabilir.

Not

CDM varlıklarını yazarken, zaten bir başvuru olarak kullanmak üzere 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ı havuzunuzu içeri aktaracaktır.

Kaynak özellikleri

Aşağıdaki tabloda bir CDM kaynağı tarafından desteklenen özellikler listelenmiştir. Bu özellikleri kaynak seçenekleri sekmesinde düzenleyebilirsiniz.

Ad Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Biçimlendir Biçim olmalıdır cdm evet cdm biçim
Meta veri biçimi Verilerin Varlık başvurusunun bulunduğu yer. CDM sürüm 1,0 kullanıyorsanız, bildirim ' ı seçin. 1,0 öncesi bir CDM sürümü kullanıyorsanız, üzerinde model.js' yi seçin. Yes 'manifest' veya 'model' manifestType
Kök konumu: kapsayıcı CDM klasörünün kapsayıcı adı evet Dize Biçimlendiri
Kök konumu: klasör yolu CDM klasörünün kök klasör konumu evet Dize folderPath
Bildirim dosyası: varlık yolu Kök klasör içindeki varlığın klasör yolu hayır Dize entityPath
Bildirim dosyası: bildirim adı Bildirim dosyasının adı. Varsayılan değer ' default ' değeridir Hayır Dize manifestName
Son değiştirme ölçütü En son değiştirildiklerinde dosyaları filtrelemek için seçin hayır Timestamp Modıfıedafter
modifiedBefore
Şemaya bağlı hizmet Yapı 'nin bulunduğu bağlı hizmet Evet, bildirim kullanılıyorsa 'adlsgen2' veya 'github' corpusStore
Varlık başvurusu kapsayıcısı Kapsayıcı yapı Evet, bildirim ve yapı ADLS 2. kullanılıyorsa Dize adlsgen2_fileSystem
Varlık başvuru deposu GitHub deposu adı evet, bildirim ve yapı GitHub kullanılıyorsa Dize github_repository
Varlık başvuru dalı GitHub depo dalı evet, bildirim ve yapı GitHub kullanılıyorsa Dize github_branch
Corpus klasörü Yapı 'nin kök konumu Evet, bildirim kullanılıyorsa Dize corpusPath
Corpus varlığı Varlık başvurusunun yolu evet Dize varlık
Dosya bulunamamış izin ver True ise bir dosya bulunmazsa bir hata oluşturulmaz hayır true veya false ıgnorenofilesfound

Kaynak ve havuz dönüşümlerindeki "varlık başvurusu" nı seçerken, varlık başvurunuz konumu için bu üç seçenekten birini seçebilirsiniz:

  • Yerel, hizmet tarafından zaten kullanılmakta olan bildirim dosyasında tanımlanan varlığı kullanır
  • Özel, hizmetin kullandığı bildirim dosyasından farklı bir varlık bildirim dosyasını işaret etmesini ister
  • Standart, içinde tutulan CDM varlıklarının standart kitaplığından bir varlık başvurusu kullanacaktır Github .

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

  • Çıktı dosyasının konumunu ve bildirim dosyasının konumunu ve adını ayarlayın.

CDM konumu

Şemayı içeri aktar

CDM yalnızca satır içi veri kümesi olarak kullanılabilir ve varsayılan olarak ilişkili bir şemaya sahip değildir. Sütun meta verilerini almak için İzdüşüm sekmesindeki şemayı içeri aktar düğmesine tıklayın. Bu, Corpus tarafından belirtilen sütun adlarına ve veri türlerine başvuruda bulunmak için izin verir. Şemayı içeri aktarmak için bir veri akışı hata ayıklama oturumunun etkin olması ve işaret etmek için var olan bir CDM varlık tanımı dosyanızın 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ı Iç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 güç platformu veri akışlarından kaynaklanan kaynak türünde model.jskullanırken, kaynak dönüşümünde "Corpus yolu null veya boş" hatalarla karşılaşabilirsiniz. Bunun nedeni, dosyadaki model.jsbölüm konumu yolunun biçimlendirme sorunlarından kaynaklanıyor olabilir. Bu hatayı onarmak için aşağıdaki adımları izleyin:

  1. Dosyadaki model.jsmetin düzenleyicisinde aç
  2. Bölümleri bulun. Location özelliği
  3. "Blob.core.windows.net" öğesini "dfs.core.windows.net" olarak değiştir
  4. URL 'deki "% 2F" kodlamasını "/" olarak düzeltin
  5. ADF veri akışları kullanılıyorsa, bölüm dosyası yolundaki özel karakterlerin alfa sayısal değerlerle değiştirilmelidir veya Azure SYNAPSE veri akışları 'na geçiş yapılmalıdır

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 bir CDM havuzu tarafından desteklenen özellikler listelenmiştir. bu özellikleri Ayarlar sekmesinden düzenleyebilirsiniz.

Ad Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Biçimlendir Biçim olmalıdır cdm evet cdm biçim
Kök konumu: kapsayıcı CDM klasörünün kapsayıcı adı evet Dize Biçimlendiri
Kök konumu: klasör yolu CDM klasörünün kök klasör konumu evet Dize folderPath
Bildirim dosyası: varlık yolu Kök klasör içindeki varlığın klasör yolu hayır Dize entityPath
Bildirim dosyası: bildirim adı Bildirim dosyasının adı. Varsayılan değer ' default ' değeridir Hayır Dize manifestName
Şemaya bağlı hizmet Yapı 'nin bulunduğu bağlı hizmet evet 'adlsgen2' veya 'github' corpusStore
Varlık başvurusu kapsayıcısı Kapsayıcı yapı Evet, yapı ADLS 2. Dize adlsgen2_fileSystem
Varlık başvuru deposu GitHub deposu adı evet, yapı GitHub Dize github_repository
Varlık başvuru dalı GitHub depo dalı evet, yapı GitHub Dize github_branch
Corpus klasörü Yapı 'nin kök konumu evet Dize corpusPath
Corpus varlığı Varlık başvurusunun yolu evet Dize varlık
Bölüm yolu Bölümün yazılacağı konum hayır Dize partitionPath
Klasörü temizle Hedef klasör, yazma işleminden önce silinirse hayır true veya false kesilemedi
Biçim türü Parquet biçimini belirtmeyi seçin hayır parquet belirtilmişse alt biçim
Sütun sınırlayıcısı DelimitedText 'e yazıyorsanız sütunları sınırlandırmak Evet, DelimitedText 'e yazıyorsanız Dize columnDelimiter
Üst bilgi olarak ilk satır DelimitedText kullanılıyorsa, sütun adlarının üst bilgi olarak eklenip eklenmeyeceğini belirtir 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

Sonraki adımlar

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