Azure Data Factory ve Azure Synapse Analytics'te sınırlandırılmış metin 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!

Sınırlandırılmış metin dosyalarını ayrıştırmak veya verileri sınırlandırılmış metin biçiminde yazmak istediğinizde bu makaleyi izleyin.

Sınırlandırılmış metin biçimi aşağıdaki bağlayıcılar için desteklenir:

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, sınırlandırılmış metin veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Özellik Açıklama Gerekli
type Veri kümesinin type özelliği DelimitedText 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. Evet
columnDelimiter Bir dosyadaki sütunları ayırmak için kullanılan karakterler.
Varsayılan değer virgüldür,. Sütun sınırlayıcısı boş dize olarak tanımlandığında, yani sınırlayıcı olmadığında, tüm satır tek bir sütun olarak alınır.
Şu anda, boş dize olarak sütun sınırlayıcısı yalnızca eşleme veri akışı için desteklenir, ancak Kopyalama etkinliği için desteklenmez.
No
rowDelimiter Kopyalama etkinliği için, bir dosyadaki satırları ayırmak için kullanılan tek karakter veya "\r\n". Varsayılan değer, okumada şu değerlerden herhangi biridir: ["\r\n", "\r", "\n"]; yazın: "\r\n". "\r\n" yalnızca kopyalama komutunda desteklenir.
Eşleme veri akışı için, bir dosyadaki satırları ayırmak için kullanılan tek veya iki karakter. Varsayılan değer, okumada şu değerlerden herhangi biridir: ["\r\n", "\r", "\n"]; yazın: "\n".
Satır sınırlayıcısı sınırlayıcı (boş dize) olarak ayarlandığında, sütun sınırlayıcısı da sınırlayıcı (boş dize) olarak ayarlanmalıdır; bu da içeriğin tamamını tek bir değer olarak ele almak anlamına gelir.
Şu anda, boş dize olarak satır sınırlayıcısı yalnızca eşleme veri akışı için desteklenir, ancak Kopyalama etkinliği için desteklenmez.
No
quoteChar Sütun sınırlayıcısı içeriyorsa, sütun değerlerini tırnak içine almak için tek karakter.
Varsayılan değer çift tırnak işaretidir".
Boş dize olarak tanımlandığında quoteChar , tırnak karakteri olmadığı ve sütun değerinin tırnak içine alınmadığı ve escapeChar sütun sınırlayıcısından ve kendisinden kaçmak için kullanıldığı anlamına gelir.
No
escapeChar Tırnak içinde tırnak içine kaçış için tek karakter.
Varsayılan değer ters eğik çizgidir\.
Boş dize olarak tanımlandığında escapeChar , öğesinin quoteChar de boş dize olarak ayarlanması gerekir. Bu durumda tüm sütun değerlerinin sınırlayıcı içermediğinden emin olun.
No
firstRowAsHeader İlk satırın sütun adlarını içeren bir üst bilgi satırı olarak işlenip işlenip ele alınmayacağını belirtir.
İzin verilen değerler true ve false (varsayılan) değerleridir.
Üst bilgi olarak ilk satır false olduğunda, not UI veri önizlemesi ve arama etkinliği çıkışı sütun adlarını otomatik olarak Prop_{n} olarak oluşturur (0'dan başlayarak), kopyalama etkinliği kaynaktan havuza açık eşleme gerektirir ve sütunları sıralı olarak (1'den başlayarak) bulur ve veri akışı listelerini eşler ve adı Column_{n} olarak (1'den başlayarak) olan sütunları bulur.
No
nullValue Null değerin dize gösterimini belirtir.
Varsayılan değer boş dizedir.
No
encodingName Test dosyalarını okumak/yazmak için kullanılan kodlama türü.
İzin verilen değerler şunlardır: "UTF-8","UTF-8 bom olmadan", "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", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM870", "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-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258".
Not eşleme veri akışı UTF-7 kodlamayı desteklemez.
Not eşleme veri akışı Bayt Sırası İşareti (BOM) ile UTF-8 kodlamayı desteklemez.
No
compressionCodec Metin 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
No
Compressionlevel 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 sınırlandırılmış metin veri kümesi örneği verilmiştir:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "escapeChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

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ümde, sınırlandırılmış metin kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak sınırlandırılmış metin

Kopyalama etkinliği *kaynak* bölümünde aşağıdaki özellikler desteklenir.

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği DelimitedTextSource olarak ayarlanmalıdır. Evet
biçim Ayarlar Bir özellik grubu. Aşağıdaki Sınırlandırılmış metin 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. No

altında formatSettingssınırlandırılmış metin okuma ayarları desteklenir:

Özellik Açıklama Gerekli
type Biçim türü Ayarlar DelimitedTextRead Ayarlar olarak ayarlanmalıdır. Evet
skipLineCount Giriş dosyalarından veri okurken atlanacak boş olmayan satır sayısını gösterir.
Hem skipLineCount hem de firstRowAsHeader parametresi belirtilirse önce satırlar atlanır, ardından giriş dosyasındaki üst bilgi bilgileri okunur.
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
"activities": [
    {
        "name": "CopyFromDelimitedText",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                },
                "formatSettings": {
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 3,
                    "compressionProperties": {
                        "type": "ZipDeflateReadSettings",
                        "preserveZipFileNameAsFolder": false
                    }
                }
            },
            ...
        }
        ...
    }
]

Havuz olarak sınırlandırılmış metin

Kopyalama etkinliği *havuz* bölümünde aşağıdaki özellikler desteklenir.

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği DelimitedTextSink olarak ayarlanmalıdır. Evet
biçim Ayarlar Bir özellik grubu. Aşağıdaki Sınırlandırılmış metin yazma ayarları tablosuna bakın. No
mağaza Ayarlar Veri deposuna veri yazma hakkında bir özellik grubu. Her dosya tabanlı bağlayıcının altında storeSettingskendi desteklenen yazma ayarları vardır. No

altında formatSettingssınırlandırılmış metin yazma ayarları desteklenir:

Özellik Açıklama Gerekli
type Format Ayarlar türü DelimitedTextWrite Ayarlar olarak ayarlanmalıdır. Evet
Dosyauzantısı Çıkış dosyalarını adlandırmak için kullanılan dosya uzantısı, örneğin, .csv, .txt. DelimitedText çıktı veri kümesinde belirtilmemişse fileName belirtilmelidir. Çıktı veri kümesinde dosya adı yapılandırıldığında, havuz dosya adı olarak kullanılır ve dosya uzantısı ayarı yoksayılır. Çıktı veri kümesinde dosya adı belirtilmediğinde Evet
maxRowsPerFile Bir klasöre veri yazarken, birden çok dosyaya yazmayı ve dosya başına en fazla satırı belirtmeyi seçebilirsiniz. No
fileNamePrefix Yapılandırıldığında maxRowsPerFile geçerlidir.
Birden çok dosyaya veri yazarken dosya adı ön ekini belirtin; bunun sonucunda şu desen elde edilir: <fileNamePrefix>_00000.<fileExtension>. Belirtilmezse, dosya adı ön eki otomatik olarak oluşturulur. Bu özellik, kaynak dosya tabanlı depo veya bölüm seçeneği etkin veri deposu olduğunda geçerli değildir.
No

Eşleme veri akışı özellikleri

Veri akışlarını eşlemede, şu veri depolarında sınırlandırılmış metin biçimini okuyabilir ve yazabilirsiniz: Azure Blob Depolama, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil ve SFTP;Amazon S3.

Satır içi veri kümesi

Eşleme veri akışları, kaynak ve havuzunuzu tanımlama seçeneği olarak "satır içi veri kümelerini" destekler. Satır içi sınırlandırılmış veri kümesi doğrudan kaynak ve havuz dönüşümlerinizin içinde tanımlanır ve tanımlı veri akışının dışında paylaşılmaz. Veri kümesi özelliklerini doğrudan veri akışınızın içinde parametrelendirmek için kullanışlıdır ve paylaşılan ADF veri kümelerinin geliştirilmiş performansından yararlanabilir.

Çok sayıda kaynak klasör ve dosya okurken Projeksiyon | içinde "Kullanıcı tarafından öngörülen şema" seçeneğini ayarlayarak veri akışı dosyası bulma performansını geliştirebilirsiniz Şema seçenekleri iletişim kutusu. Bu seçenek, ADF'nin varsayılan şema otomatik bulmasını kapatır ve dosya bulma performansını büyük ölçüde artırır. Bu seçeneği ayarlamadan önce, ADF'nin projeksiyon için mevcut bir şeması olması için projeksiyonu içeri aktardığından emin olun. Bu seçenek şema kayması ile çalışmaz.

Kaynak özellikleri

Aşağıdaki tabloda, sınırlandırılmış metin 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
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
Çok satırlı satırlar Kaynak dosya birden çok satıra yayılan satırlar içeriyor mu? Çok satırlı değerler tırnak içinde olmalıdır. hayır true veya false multiLineRow
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: ['<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
Dosya bulunamadığında izin ver True ise, hiçbir dosya bulunamazsa hata oluşmaz hayır true veya false ignoreNoFilesFound
En fazla sütun sayısı Varsayılan değer 20480'dir. Sütun numarası 20480'in üzerinde olduğunda bu değeri özelleştirin hayır Tamsayı maxColumns

Dekont

Dosya listesi için veri akışı kaynakları desteği, dosyanızdaki 1024 girdiyle sınırlıdır. Daha fazla dosya eklemek için dosya listenizde joker karakterler kullanın.

Kaynak örneği

Aşağıdaki görüntü, veri akışlarını eşlemede sınırlandırılmış metin kaynağı yapılandırmasına bir örnektir.

DelimitedText source

İlişkili veri akışı betiği:

source(
    allowSchemaDrift: true,
	validateSchema: false,
	ignoreNoFilesFound: false,
	multiLineRow: true,
	wildcardPaths:['*.csv']) ~> CSVSource

Dekont

Veri akışı kaynakları, Hadoop dosya sistemleri tarafından desteklenen sınırlı bir Linux globbing kümesini destekler

Havuz özellikleri

Aşağıdaki tabloda, sınırlandırılmış metin havuzu tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz.

Adı Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Klasörü temizleme Hedef klasör yazmadan önce temizlenirse hayır true veya false truncate
Dosya adı seçeneği Yazılan verilerin adlandırma biçimi. Varsayılan olarak, bölüm başına bir dosya biçimindedir part-#####-tid-<guid> hayır Desen: Dize
Bölüm başına: Dize[]
Dosyayı sütun verileri olarak adlandır: Dize
Tek bir dosyaya çıkış: ['<fileName>']
Klasörü sütun verileri olarak adlandır: Dize
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames
rowFolderUrlColumn
Tümünü alıntıla Tüm değerleri tırnak içine alma hayır true veya false quoteAll
Üst bilgi Çıkış dosyalarına müşteri üst bilgileri ekleme hayır [<string array>] üst bilgi

Havuz örneği

Aşağıdaki görüntü, eşleme veri akışlarında sınırlandırılmış metin havuzu yapılandırmasına bir örnektir.

DelimitedText sink

İlişkili veri akışı betiği:

CSVSource sink(allowSchemaDrift: true,
    validateSchema: false,
    truncate: true,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> CSVSink

Sınırlandırılmış metin biçimiyle ilgili bazı yaygın bağlayıcılar ve biçimler şunlardır:

  • Azure Blob Depolama (connector-azure-blob-storage.md)
  • İkili biçim (format-binary.md)
  • Dataverse(connector-dynamics-crm-office-365.md)
  • Delta biçimi(format-delta.md)
  • Excel biçimi(format-excel.md)
  • Dosya Sistemi(connector-file-system.md)
  • FTP(connector-ftp.md)
  • HTTP(connector-http.md)
  • JSON biçimi(format-json.md)
  • Parquet biçimi(format-parquet.md)