Azure Data Factory ve Synapse Analytics işlem hatlarında XML biçimi

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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!

XML dosyalarını ayrıştırmak istediğinizde bu makaleyi izleyin.

XML biçimi şu bağlayıcılar için desteklenir: Amazon S3, Amazon S3 Uyumlu Depolama, Azure Blob, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil, Azure Dosyalar, Dosya Sistemi, FTP, Google Cloud Depolama, HDFS, HTTP, Oracle Cloud Depolama ve SFTP. Kaynak olarak desteklenir ancak havuz olarak desteklenmez.

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın. Bu bölümde, XML veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Özellik Açıklama Gerekli
type Veri kümesinin tür özelliği Xml olarak ayarlanmalıdır. Evet
konum Dosya konum ayarları. Her dosya tabanlı bağlayıcının kendi konum türü ve altında locationdesteklenen özellikleri vardır. Bağlayıcı makalesi -> Veri kümesi özellikleri bölümündeki ayrıntılara bakın. Evet
encodingName Test dosyalarını okumak/yazmak için kullanılan kodlama türü.
İzin verilen değerler şunlardır: "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM8870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1252", "WINDOWS-11253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258".
No
nullValue Null değerin dize gösterimini belirtir.
Varsayılan değer boş dizedir.
No
sıkıştırma Dosya sıkıştırmayı yapılandırmak için özellikler grubu. Etkinlik yürütme sırasında sıkıştırma/sıkıştırmayı açmak istediğinizde bu bölümü yapılandırın. No
type
(altında compression)
XML dosyalarını okumak/yazmak için kullanılan sıkıştırma codec bileşeni.
İzin verilen değerler bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy veya lz4 değerleridir. Varsayılan olarak sıkıştırılmaz.
Şu anda Kopyalama etkinliği "snappy" & "lz4" ve eşleme veri akışının "ZipDeflate", "TarGzip" ve "Tar" desteği olmadığını unutmayın.
ZipDeflate/TarGzip/Tar dosyalarının sıkıştırmasını açmak ve dosya tabanlı havuz veri deposuna yazmak için kopyalama etkinliğini kullanırken, varsayılan olarak dosyalar klasöre ayıklanır:<path specified in dataset>/<folder named as source compressed file>/, sıkıştırılmış dosyaların adının klasör yapısı olarak korunup korunmayacağını denetlemek için kopyalama etkinliği kaynağında kullanın.preserveZipFileNameAsFolder/preserveCompressionFileNameAsFolder
Hayır.
düzey
(altında compression)
Sıkıştırma oranı.
İzin verilen değerler En uygun veya en hızlı değerlerdir.
- En hızlı: Elde edilen dosya en iyi şekilde sıkıştırılmasa bile sıkıştırma işlemi mümkün olan en hızlı şekilde tamamlanmalıdır.
- En uygun: İşlemin tamamlanması daha uzun sürse bile sıkıştırma işlemi en iyi şekilde sıkıştırılmalıdır. Daha fazla bilgi için Bkz . Sıkıştırma Düzeyi konusu.
No

Aşağıda Azure Blob Depolama üzerinde xml veri kümesi örneği verilmiştir:

{
    "name": "XMLDataset",
    "properties": {
        "type": "Xml",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "compression": {
                "type": "ZipDeflate"
            }
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölüm, XML kaynağı tarafından desteklenen özelliklerin listesini sağlar.

Şema eşlemesinden XML verilerini ve havuz veri depolarını/biçimini eşlemeyi öğrenin. XML dosyalarının önizlemesini görüntülerken veriler JSON hiyerarşisiyle gösterilir ve alanları işaret etmek için JSON yolunu kullanırsınız.

Kaynak olarak XML

Kopyalama etkinliği *kaynak* bölümünde aşağıdaki özellikler desteklenir. XML bağlayıcısı davranışı hakkında daha fazla bilgi edinin.

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği XmlSource olarak ayarlanmalıdır. Evet
biçim Ayarlar Bir özellik grubu. Aşağıdaki XML okuma ayarları tablosuna bakın. No
mağaza Ayarlar Veri deposundan veri okuma hakkında bir özellik grubu. Her dosya tabanlı bağlayıcının altında storeSettingskendi desteklenen okuma ayarları vardır. Bağlayıcı makalesi -> Kopyalama etkinliği özellikleri bölümündeki ayrıntılara bakın. No

altında formatSettingsdesteklenen XML okuma ayarları:

Özellik Açıklama Gerekli
type Biçim türü Ayarlar XmlRead Ayarlar olarak ayarlanmalıdır. Evet
validationMode XML şemasının doğrulanıp doğrulanmayacağını belirtir.
İzin verilen değerler yok (varsayılan, doğrulama yok), xsd (XSD kullanarak doğrulama), dtd (DTD kullanarak doğrulama).
No
Ad alanları XML dosyalarını ayrıştırırken ad alanının etkinleştirilip etkinleştirilmeyileceği. İzin verilen değerler şunlardır: true (varsayılan), false. No
namespacePrefixes Xml dosyasını ayrıştırırken alanları adlandırmak için kullanılan ön ek eşlemesi için ad alanı URI'si.
XML dosyasında ad alanı varsa ve ad alanı etkinse, alan adı varsayılan olarak XML belgesindekiyle aynıdır.
Bu eşlemede ad alanı URI'si için tanımlanmış bir öğe varsa, alan adı olur prefix:fieldName.
No
detectDataType Tamsayı, çift ve Boole veri türlerinin algılanıp algılanması. İzin verilen değerler şunlardır: true (varsayılan), false. No
compressionProperties Belirli bir sıkıştırma codec'i için verilerin sıkıştırmasını kaldırmaya yönelik bir özellik grubu. No
preserveZipFileNameAsFolder
(altında compressionProperties->type olarak ZipDeflateReadSettings)
Giriş veri kümesi ZipDeflate sıkıştırması ile yapılandırıldığında uygulanır. Kopyalama sırasında kaynak zip dosyası adının klasör yapısı olarak korunup korunmayacağını gösterir.
- True (varsayılan) olarak ayarlandığında, hizmet sıkıştırması açılmış dosyaları öğesine <path specified in dataset>/<folder named as source zip file>/yazar.
- False olarak ayarlandığında, hizmet sıkıştırması açılmış dosyaları doğrudan öğesine <path specified in dataset>yazar. Yarış veya beklenmeyen davranışlardan kaçınmak için farklı kaynak zip dosyalarında yinelenen dosya adlarının olmadığından emin olun.
No
preserveCompressionFileNameAsFolder
(altında compressionProperties->type veya )TarReadSettingsTarGZipReadSettings
Giriş veri kümesi TarGzip/Tar sıkıştırmasıyla yapılandırıldığında geçerlidir. Kaynak sıkıştırılmış dosya adının kopyalama sırasında klasör yapısı olarak korunup korunmayacağını gösterir.
- True (varsayılan) olarak ayarlandığında, hizmet sıkıştırılmış dosyaları öğesine <path specified in dataset>/<folder named as source compressed file>/yazar.
- False olarak ayarlandığında, hizmet sıkıştırılan dosyaları doğrudan öğesine <path specified in dataset>yazar. Yarış veya beklenmeyen davranışlardan kaçınmak için farklı kaynak dosyalarda yinelenen dosya adlarınız olmadığından emin olun.
No

Eşleme veri akışı özellikleri

Eşleme veri akışlarında xml biçimini şu veri depolarında okuyabilirsiniz: Azure Blob Depolama, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil, Amazon S3 ve SFTP. XML veri kümesi kullanarak veya satır içi veri kümesi kullanarak XML dosyalarına işaret edebilirsiniz.

Kaynak özellikleri

Aşağıdaki tabloda XML kaynağı tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz. XML bağlayıcısı davranışı hakkında daha fazla bilgi edinin. Satır içi veri kümesini kullanırken, veri kümesi özellikleri bölümünde açıklanan özelliklerle aynı olan ek dosya ayarlarını görürsünüz.

Adı Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Joker karakter yolları Joker karakter yoluyla eşleşen tüm dosyalar işlenir. Veri kümesinde ayarlanan klasörü ve dosya yolunu geçersiz kılar. No Dize[] joker karakterler
Bölüm kök yolu Bölümlenmiş dosya verileri için bölümlenmiş klasörleri sütun olarak okumak için bir bölüm kök yolu girebilirsiniz No String partitionRootPath
Dosya listesi Kaynağınızın işlenmek üzere dosyaları listeleyen bir metin dosyasına işaret edip etmediği No true veya false Filelist
Dosya adını depolamak için sütun Kaynak dosya adı ve yolu ile yeni bir sütun oluşturma No String rowUrlColumn
Tamamlandıktan sonra İşlemden sonra dosyaları silin veya taşıyın. Dosya yolu kapsayıcı kökünden başlar No Sil: true veya false
Hareket: ['<from>', '<to>']
purgeFiles
moveFiles
Son değiştirme ölçütüne göre filtrele Dosyaları son değiştirilme zamanlarına göre filtrelemeyi seçin No Zaman damgası modifiedAfter
modifiedBefore
Doğrulama modu XML şemasının doğrulanıp doğrulanmayacağını belirtir. No None (varsayılan, doğrulama yok)
xsd (XSD kullanarak doğrulama)
dtd (DTD kullanarak doğrulama).
validationMode
Ad Alanları XML dosyalarını ayrıştırırken ad alanının etkinleştirilip etkinleştirilmeyileceği. No true (varsayılan) veya false Ad alanları
Ad alanı ön ek çiftleri Xml dosyasını ayrıştırırken alanları adlandırmak için kullanılan ön ek eşlemesi için ad alanı URI'si.
XML dosyasında ad alanı varsa ve ad alanı etkinse, alan adı varsayılan olarak XML belgesindekiyle aynıdır.
Bu eşlemede ad alanı URI'si için tanımlanmış bir öğe varsa, alan adı olur prefix:fieldName.
No Desenli dizi['URI1'->'prefix1','URI2'->'prefix2'] namespacePrefixes
Dosya bulunamadığında izin ver True ise, hiçbir dosya bulunamazsa hata oluşmaz hayır true veya false ignoreNoFilesFound

XML kaynak betiği örneği

Aşağıdaki betik, veri kümesi modunu kullanarak veri akışlarını eşlemede xml kaynağı yapılandırması örneğidir.

source(allowSchemaDrift: true,
    validateSchema: false,
    validationMode: 'xsd',
    namespaces: true) ~> XMLSource

Aşağıdaki betik, satır içi veri kümesi modunu kullanan bir XML kaynak yapılandırması örneğidir.

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'xml',
    fileSystem: 'filesystem',
    folderPath: 'folder',
    validationMode: 'xsd',
    namespaces: true) ~> XMLSource

XML bağlayıcısı davranışı

Kaynak olarak XML kullanılırken aşağıdakilere dikkat edin.

  • XML öznitelikleri:

    • Bir öğenin öznitelikleri, hiyerarşideki öğenin alt alanları olarak ayrıştırılır.
    • Öznitelik alanının adı desenini @attributeNameizler.
  • XML şema doğrulaması:

    • XSD veya DTD kullanarak şemayı doğrulamamayı veya şemayı doğrulamayı seçebilirsiniz.
    • XML dosyalarını doğrulamak için XSD veya DTD kullanılırken, XSD/DTD,XML dosyalarının içinde göreli yol üzerinden başvurulmalıdır.
  • Ad alanı işleme:

    • Veri akışı kullanılırken ad alanı devre dışı bırakılabilir ve bu durumda ad alanını tanımlayan öznitelikler normal öznitelikler olarak ayrıştırılır.
    • Ad alanı etkinleştirildiğinde, öğenin ve özniteliklerin adları deseni namespaceUri,elementName ve namespaceUri,@attributeName varsayılan olarak izler. Kaynaktaki her ad alanı URI'sinin ad alanı ön ekini tanımlayabilirsiniz; bu durumda öğenin ve özniteliklerin adları desene definedPrefix:elementName uyar veya definedPrefix:@attributeName bunun yerine.
  • Değer sütunu:

    • Xml öğesi hem basit metin değerine hem de özniteliklere/alt öğelere sahipse, basit metin değeri yerleşik alan adıyla _value_bir "değer sütununun" değeri olarak ayrıştırılır. Ayrıca, uygulanıyorsa öğenin ad alanını da devralır.