Azure Data Factory ve Synapse Analytics işlem hatlarında XML 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!
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 Storage, HDFS, HTTP, Oracle Cloud Storage 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 |
---|---|---|
Tür | Veri kümesinin tür özelliği Xml olarak ayarlanmalıdır. | Yes |
konum | Dosya konum ayarları. Her dosya tabanlı bağlayıcının kendi konum türü ve altında location desteklenen özellikleri vardır. Bağlayıcı makalesi -> Veri kümesi özellikleri bölümündeki ayrıntılara bakın. |
Yes |
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". |
Hayır |
nullValue | Null değerin dize gösterimini belirtir. Varsayılan değer boş dizedir. |
Hayır |
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. | Hayır |
Tür (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. |
Hayır |
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 |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği XmlSource olarak ayarlanmalıdır. | Yes |
formatSettings | Bir özellik grubu. Aşağıdaki XML okuma ayarları tablosuna bakın. | Hayır |
storeSettings | Veri deposundan veri okuma hakkında bir özellik grubu. Her dosya tabanlı bağlayıcının altında storeSettings kendi desteklenen okuma ayarları vardır. Bağlayıcı makalesi -> Kopyalama etkinliği özellikleri bölümündeki ayrıntılara bakın. |
Hayır |
altında formatSettings
desteklenen XML okuma ayarları:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | formatSettings türü XmlReadSettings olarak ayarlanmalıdır. | Yes |
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). |
Hayır |
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. | Hayır |
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 . |
Hayır |
detectDataType | Tamsayı, çift ve Boole veri türlerinin algılanıp algılanması. İzin verilen değerler şunlardır: true (varsayılan), false. | Hayır |
compressionProperties | Belirli bir sıkıştırma codec'i için verilerin sıkıştırmasını kaldırmaya yönelik bir özellik grubu. | Hayır |
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. |
Hayır |
preserveCompressionFileNameAsFolder (altında compressionProperties ->type veya )TarReadSettings TarGZipReadSettings |
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. |
Hayır |
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.
Veri Akışı 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. | Hayır | 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 | Hayır | String | partitionRootPath |
Dosya listesi | Kaynağınızın işlenmek üzere dosyaları listeleyen bir metin dosyasına işaret edip etmediği | Hayır | true veya false |
fileList |
Dosya adını depolamak için sütun | Kaynak dosya adı ve yolu ile yeni bir sütun oluşturma | Hayır | String | rowUrlColumn |
Tamamlandıktan sonra | İşlemden sonra dosyaları silin veya taşıyın. Dosya yolu kapsayıcı kökünden başlar | Hayır | Sil: true veya false Hareket etmek: ['<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 | Hayır | Zaman damgası | modifiedAfter modifiedBefore |
Doğrulama modu | XML şemasının doğrulanıp doğrulanmayacağını belirtir. | Hayır | 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. | Hayır | 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 . |
Hayır | 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
@attributeName
izler.
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
venamespaceUri,@attributeName
varsayılan olarak izler. Kaynaktaki her ad alanı URI'sinin ad alanı ön ekini tanımlayabilirsiniz; bu durumda öğenin ve özniteliklerin adları desenedefinedPrefix:elementName
uyar veyadefinedPrefix:@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.
- Xml öğesi hem basit metin değerine hem de özniteliklere/alt öğelere sahipse, basit metin değeri yerleşik alan adıyla