Tagolt szövegformátum az Azure Data Factoryben és az Azure Synapse Analyticsben

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Kövesse ezt a cikket, ha elemezni szeretné a tagolt szövegfájlokat, vagy ha az adatokat tagolt szövegformátumba szeretné írni.

A tagolt szövegformátum a következő összekötők esetében támogatott:

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja. Ez a szakasz a tagolt szöveges adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Property Leírás Required
típus Az adathalmaz típustulajdonságának delimitedText értékre kell állítania. Igen
hely A fájl(ok) helybeállításai. Minden fájlalapú összekötő saját helytípussal és támogatott tulajdonságokkal rendelkezik a(z) < a0/> alatt location. Igen
columnDelimiter A fájl oszlopainak elválasztásához használt karakter(ek).
Az alapértelmezett érték a vessző ,. Ha az oszlopelválasztó üres sztringként van definiálva, ami azt jelenti, hogy nincs elválasztójel, a teljes sor egyetlen oszlopként lesz megadva.
Az oszlopelválasztó üres sztringként jelenleg csak az adatfolyam leképezéséhez támogatott, de Copy tevékenység nem.
Nem
rowDelimiter A Copy tevékenység esetében a fájl sorainak elválasztásához használt egyetlen karakter vagy "\r\n". Az alapértelmezett érték a következő értékek bármelyike az olvasáskor: ["\r\n", "\r", "\n"]; íráskor: "\r\n". A "\r\n" csak a másolási parancsban támogatott.
Az adatfolyam leképezéséhez a fájlok sorainak elválasztásához használt egy vagy két karakter. Az alapértelmezett érték a következő értékek bármelyike az olvasáskor: ["\r\n", "\r", "\n"]; íráskor: "\n".
Ha a sorelválasztó nincs elválasztó (üres sztring) értékre van állítva, az oszlopelválasztót elválasztójelként (üres sztring) is be kell állítani, ami azt jelenti, hogy a teljes tartalmat egyetlen értékként kell kezelni.
A sorelválasztó üres sztringként jelenleg csak az adatfolyam leképezéséhez támogatott, de Copy tevékenység nem.
Nem
quoteChar Az oszlopértékeket idéző egyetlen karakter, ha oszlopelválasztót tartalmaz.
Az alapértelmezett érték a dupla idézőjelek".
Ha quoteChar üres sztringként van definiálva, az azt jelenti, hogy nincs idézőjel, és az oszlop értéke nem idézőjel, és escapeChar az oszlopelválasztó és magát az oszlopelválasztót is elkerüli.
Nem
escapeChar Az idézőjelek egy adott értéken belüli feloldásához használható karakter.
Az alapértelmezett érték a fordított perjel \.
Ha escapeChar üres sztringként van definiálva, az quoteChar üres sztringet is be kell állítani, ebben az esetben győződjön meg arról, hogy az összes oszlopérték nem tartalmaz elválasztójeleket.
Nem
firstRowAsHeader Megadja, hogy az első sort oszlopnevekkel rendelkező fejlécsorként kell-e kezelni/készíteni.
Az engedélyezett értékek igazak és hamisak (alapértelmezett).
Ha az első sor fejlécként hamis, vegye figyelembe, hogy a felhasználói felület adatainak előnézete és a keresési tevékenység kimenete automatikusan létrehoz oszlopneveket Prop_{n} néven (0-tól kezdve), a másolási tevékenységhez explicit leképezésre van szükség a forrástól a fogadóig, és sorszám szerint megkeresi az oszlopokat (1-től kezdve), valamint leképezi az adatfolyam-listákat, és megkeresi a Column_{n} nevű oszlopokat (1-től kezdve).
Nem
nullValue A null érték sztring-ábrázolását adja meg.
Az alapértelmezett érték üres sztring.
Nem
encodingName A tesztfájlok olvasásához/írásához használt kódolási típus.
Az engedélyezett értékek a következők: "UTF-8","UTF-8 BOM nélkül", "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", "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-125 2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258".
Megjegyzés: A leképezési adatfolyam nem támogatja az UTF-7 kódolást.
Megjegyzés: A leképezési adatfolyam nem támogatja az UTF-8 kódolást byte Order Mark (BOM) használatával.
Nem
compressionCodec A szövegfájlok olvasásához/írásához használt tömörítési kodek.
Az engedélyezett értékek a következők: bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy vagy lz4. Az alapértelmezett beállítás nincs tömörítve.
Vegye figyelembe, hogy Copy tevékenység jelenleg nem támogatja a "snappy" & "lz4" elemet, és a leképezési adatfolyam nem támogatja a "ZipDeflate", a "TarGzip" és a "Tar" elemet.
Figyelje meg, hogy a ZipDeflate/TarGzip/Tar fájl(ok) kibontásához és a fájlalapú fogadóadattárba való íráshoz a másolási tevékenység során alapértelmezés szerint a fájlok a mappába lesznek kinyerve:<path specified in dataset>/<folder named as source compressed file>/ a másolási tevékenység forrásánakhasználatával preserveZipFileNameAsFolder/preserveCompressionFileNameAsFolder szabályozhatja, hogy a tömörített fájl(ok) neve megmarad-e mappastruktúraként.
Nem
compressionLevel A tömörítési arány.
Az engedélyezett értékek optimálisak vagy leggyorsabbak.
- Leggyorsabb: A tömörítési műveletnek a lehető leggyorsabban végre kell hajtania, még akkor is, ha az eredményül kapott fájl nincs optimálisan tömörítve.
- Optimális: A tömörítési műveletet optimálisan kell tömöríteni, még akkor is, ha a művelet végrehajtása hosszabb időt vesz igénybe. További információ: Tömörítési szint témakör.
Nem

Az alábbiakban egy példa látható az Azure Blob Storage-ban tagolt szöveges adatkészletre:

{
    "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"
        }
    }
}

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz a tagolt szövegforrás és fogadó által támogatott tulajdonságok listáját tartalmazza.

Elhatárolt szöveg forrásként

A másolási tevékenység *forrás* szakasza az alábbi tulajdonságokat támogatja.

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságát DelimitedTextSource értékre kell állítani. Igen
formátum Gépház Egy tulajdonságcsoport. Tekintse meg a tagolt szöveg olvasási beállításainak alábbi táblázatát. Nem
áruház Gépház Az adatok adattárból való olvasására vonatkozó tulajdonságok csoportja. Minden fájlalapú összekötő saját támogatott olvasási beállításokkal rendelkezik a következő alatt storeSettings: . Nem

A támogatott tagolt szövegolvasási beállítások a következő területenformatSettings:

Property Leírás Required
típus A formátum típusát Gépház delimitedTextRead Gépház értékre kell állítani. Igen
skipLineCount A bemeneti fájlokból származó adatok olvasásakor kihagyandó nem üres sorok számát jelzi.
Ha a skipLineCount és a firstRowAsHeader tulajdonság is meg van adva, a rendszer először kihagyja a sorokat, majd beolvassa a fejléc-információkat a bemeneti fájlból.
Nem
compressionProperties Egy adott tömörítési kodek adatainak felbontására vonatkozó tulajdonságok csoportja. Nem
preserveZipFileNameAsFolder
(under compressionProperties->type as ZipDeflateReadSettings)
Akkor érvényes, ha a bemeneti adatkészlet ZipDeflate tömörítéssel van konfigurálva. Azt jelzi, hogy a másolás során meg kell-e őrizni a forrás zip-fájl nevét mappastruktúraként.
- Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a kibontott fájlokat a következőre <path specified in dataset>/<folder named as source zip file>/írja: .
- Ha hamis értékre van állítva, a szolgáltatás a kibontott fájlokat közvetlenül a következőre <path specified in dataset>írja: . Győződjön meg arról, hogy nincsenek ismétlődő fájlnevek a különböző forrás zip-fájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést.
Nem
preserveCompressionFileNameAsFolder
(alatt compressionProperties->type mint TarGZipReadSettings vagy TarReadSettings)
Akkor érvényes, ha a bemeneti adatkészlet TarGzip/Tar-tömörítésselvan konfigurálva. Azt jelzi, hogy a másolás során megőrzi-e a forrás tömörített fájlnevét mappastruktúraként.
- Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a tömörített fájlokat a következőre <path specified in dataset>/<folder named as source compressed file>/írja: .
- Ha hamis értékre van állítva, a szolgáltatás közvetlenül <path specified in dataset>ide írja a tömörített fájlokat. Győződjön meg arról, hogy nem duplikált fájlnevek szerepelnek a különböző forrásfájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést.
Nem
"activities": [
    {
        "name": "CopyFromDelimitedText",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                },
                "formatSettings": {
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 3,
                    "compressionProperties": {
                        "type": "ZipDeflateReadSettings",
                        "preserveZipFileNameAsFolder": false
                    }
                }
            },
            ...
        }
        ...
    }
]

Elhatárolt szöveg fogadóként

A másolási tevékenység *fogadó* szakasza az alábbi tulajdonságokat támogatja.

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságát DelimitedTextSink értékre kell állítani. Igen
formátum Gépház Egy tulajdonságcsoport. Tekintse meg az alábbi tagolt szövegírási beállítások táblázatát. Nem
áruház Gépház Az adatok adattárba való írására vonatkozó tulajdonságok csoportja. Minden fájlalapú összekötő saját támogatott írási beállításokkal rendelkezik a .storeSettings Nem

Támogatott tagolt szövegírási beállítások a következő területenformatSettings:

Property Leírás Required
típus A formátum típusát Gépház delimitedTextWrite Gépház értékre kell állítani. Igen
fileExtension A kimeneti fájlok elnevezésére használt fájlkiterjesztés, például : .csv. .txt Ezt akkor kell megadni, ha a fileName kimeneti DelimitedText adatkészletben nincs megadva. Ha a fájlnév konfigurálva van a kimeneti adatkészletben, a rendszer fogadófájlnévként fogja használni, és a fájlkiterjesztési beállítás figyelmen kívül lesz hagyva. Igen, ha a fájlnév nincs megadva a kimeneti adatkészletben
maxRowsPerFile Ha adatokat ír egy mappába, több fájlba is írhat, és megadhatja a fájlonkénti maximális sorokat. Nem
fileNamePrefix Konfiguráláskor maxRowsPerFile alkalmazható.
Adja meg a fájlnév előtagot, amikor több fájlba ír adatokat, és a következő mintát eredményezte: <fileNamePrefix>_00000.<fileExtension>. Ha nincs megadva, a rendszer automatikusan létrehozza a fájlnév előtagot. Ez a tulajdonság nem érvényes, ha a forrás fájlalapú tároló vagy partícióbeállítás-kompatibilis adattár.
Nem

Adatfolyam-tulajdonságok leképezése

Az adatfolyamok leképezése során a következő adattárakban olvashat és írhat tagolt szövegformátumba: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 és SFTP, és az Amazon S3-ban is olvashat tagolt szövegformátumot.

Beágyazott adatkészlet

Az adatfolyamok leképezése támogatja a "beágyazott adathalmazokat" a forrás és a fogadó meghatározásához. A beágyazott, tagolt adathalmazok közvetlenül a forrás- és fogadóátalakításokon belül vannak definiálva, és nem lesznek megosztva a definiált adatfolyamon kívül. Hasznos az adathalmaz tulajdonságainak közvetlenül az adatfolyamon belüli paraméterezéséhez, és a megosztott ADF-adathalmazok jobb teljesítményének előnyeit is élvezheti.

Ha nagy számú forrásmappát és fájlt olvas, javíthatja az adatfolyam-fájlok felderítésének teljesítményét a "Felhasználó által előrejelzett séma" lehetőség beállításával a Projection | Sémabeállítások párbeszédpanel. Ez a beállítás kikapcsolja az ADF alapértelmezett séma automatikus felderítését, és jelentősen javítja a fájlfelderítés teljesítményét. A beállítás megadása előtt mindenképpen importálja a vetítést, hogy az ADF rendelkezik meglévő vetületi sémával. Ez a beállítás nem működik a sémaeltolódással.

Forrástulajdonságok

Az alábbi táblázat a tagolt szövegforrás által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Forrás beállításai lapon szerkesztheti.

Name Leírás Required Megengedett értékek Adatfolyam-szkript tulajdonság
Helyettesítő kártya elérési útjai A program minden olyan fájlt feldolgoz, amely megfelel a helyettesítő karakter elérési útjának. Felülbírálja az adathalmazban beállított mappát és fájl elérési útját. nem Karakterlánc[] helyettesítő karakterekPaths
Partíció gyökérútvonala A particionált fájladatok esetében megadhat egy partíció gyökérútvonalát, hogy a particionált mappákat oszlopként olvassa be nem Sztring partitionRootPath
Fájlok listája Azt jelzi, hogy a forrás olyan szövegfájlra mutat-e, amely felsorolja a feldolgozandó fájlokat nem true vagy false Filelist
Többsoros sorok A forrásfájl több sorra kiterjedő sorokat tartalmaz? A többsoros értékeknek idézőjelekben kell lenniük. nem true vagy false multiLineRow
A fájlnév tárolására használt oszlop Új oszlop létrehozása a forrásfájl nevével és elérési útjával nem Sztring rowUrlColumn
A befejezés után A feldolgozás után törölje vagy helyezze át a fájlokat. A fájl elérési útja a tároló gyökerétől indul nem Törlés: true vagy false
Mozgatni: ['<from>', '<to>']
purgeFiles
moveFiles
Szűrés utoljára módosítva Fájlok szűrésének kiválasztása az utolsó módosításuk időpontjától függően nem Timestamp modifiedAfter
modifiedBefore
Nem található fájl engedélyezése Ha igaz, a rendszer nem ad hibát, ha nem található fájl nem true vagy false ignoreNoFilesFound
Oszlopok maximális száma Az alapértelmezett érték 20480. Ennek az értéknek a testreszabása, ha az oszlop száma meghaladja a 20480-at nem Egész maxColumns

Megjegyzés:

Az adatfolyam-források a fájllistában legfeljebb 1024 bejegyzést támogatnak. További fájlok hozzáadásához használjon helyettesítő karaktereket a fájllistában.

Példa forrásra

Az alábbi képen egy tagolt szöveges forráskonfiguráció látható az adatfolyamok leképezése során.

DelimitedText source

A társított adatfolyam-szkript a következő:

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

Megjegyzés:

Az adatfolyam-források a Hadoop fájlrendszerei által támogatott Linux-globbing korlátozott halmazát támogatják

Fogadó tulajdonságai

Az alábbi táblázat felsorolja azokat a tulajdonságokat, amelyeket egy tagolt szövegelválasztó támogat. Ezeket a tulajdonságokat a Gépház lapon szerkesztheti.

Name Leírás Required Megengedett értékek Adatfolyam-szkript tulajdonság
A mappa törlése Ha a célmappa írás előtt törlődik nem true vagy false megcsonkít
Fájlnév beállítás A megírt adatok elnevezési formátuma. Alapértelmezés szerint partíciónként egy fájl formátuma part-#####-tid-<guid> nem Minta: Sztring
Partíciónként: Sztring[]
Névfájl oszlopadatokként: Sztring
Kimenet egyetlen fájlba: ['<fileName>']
Névmappa oszlopadatokként: Sztring
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames
rowFolderUrlColumn
Az összes idézőjele Az összes érték beágyazása idézőjelekbe nem true vagy false quoteAll
Fejléc Ügyfélfejlécek hozzáadása kimeneti fájlokhoz nem [<string array>] header

Fogadó példa

Az alábbi képen egy tagolt szöveg fogadó konfigurációja látható az adatfolyamok leképezése során.

DelimitedText sink

A társított adatfolyam-szkript a következő:

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

Íme néhány gyakori összekötő és formátum a tagolt szövegformátumhoz:

  • Azure Blob Storage (connector-azure-blob-storage.md)
  • Bináris formátum (format-binary.md)
  • Dataverse(connector-dynamics-crm-office-365.md)
  • Delta formátum(format-delta.md)
  • Excel formátum(format-excel.md)
  • Fájlrendszer(connector-file-system.md)
  • FTP(connector-ftp.md)
  • HTTP(connector-http.md)
  • JSON formátum (format-json.md)
  • Parquet format(format-parquet.md)