Formát Parquet ve službě Azure Data Factory a Azure Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Pokud chcete parsovat soubory Parquet nebo zapisovat data do formátu Parquet, postupujte podle tohoto článku.

Formát Parquet je podporovaný pro následující konektory:

Seznam podporovaných funkcí pro všechny dostupné konektory najdete v článku Přehled konektorů.

Použití místního prostředí Integration Runtime

Důležité

Pokud chcete kopírovat soubory Parquet v místním prostředí Integration Runtime, například mezi místními a cloudovými úložišti dat, musíte na počítač IR nainstalovat 64bitovou verzi prostředí JRE 8 (Java Runtime Environment) nebo OpenJDK. Další podrobnosti najdete v následujícím odstavci.

Pro kopírování spuštěné v místním prostředí IR se serializací/deserializací souborů Parquet vyhledá služba modul runtime Java tím, že nejprve zkontroluje registr (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) JRE, pokud nebyl nalezen, druhou kontrolou systémové proměnné JAVA_HOME openJDK.

  • Použití JRE: 64bitové prostředí IR vyžaduje 64bitové prostředí JRE. Najdete ho tady.
  • Použití OpenJDK: Podporuje se od ir verze 3.13. Zabalte jvm.dll se všemi ostatními požadovanými sestaveními OpenJDK do počítače místního prostředí IR a nastavte proměnnou systémového prostředí JAVA_HOME odpovídajícím způsobem a restartujte místní prostředí IR, aby se projevilo okamžitě.

Tip

Pokud kopírujete data do nebo z formátu Parquet pomocí místního prostředí Integration Runtime a dojde k chybě s oznámením " Při vyvolání javy došlo k chybě, zpráva: java.lang.OutOfMemoryError:Halda Java: Místo haldy Javy", můžete do počítače, který je hostitelem místního prostředí IR, přidat proměnnou _JAVA_OPTIONS prostředí, aby se upravila minimální/maximální velikost haldy pro JVM, aby bylo možné takovou kopii umožnit, a pak kanál znovu spustit.

Nastavení velikosti haldy JVM v místním prostředí IR

Příklad: nastavte proměnnou _JAVA_OPTIONS s hodnotou -Xms256m -Xmx16g. Xms Příznak určuje počáteční fond přidělení paměti pro virtuální počítač Java Virtual Machine (JVM), zatímco Xmx určuje maximální fond přidělení paměti. To znamená, že prostředí JVM se spustí s Xms množstvím paměti a bude moct používat maximální Xmx velikost paměti. Ve výchozím nastavení služba používá minimální 64 MB a maximální 1G.

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady . Tato část obsahuje seznam vlastností podporovaných datovou sadou Parquet.

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavena na Parquet. Ano
location Nastavení umístění souborů Každý konektor založený na souborech má svůj vlastní typ umístění a podporované vlastnosti v části location. Podrobnosti najdete v článku o konektoru –> část Vlastnosti datové sady. Ano
compressionCodec Komprimační kodek, který se má použít při zápisu do souborů Parquet. Při čtení ze souborů Parquet datové továrny automaticky určují kodek komprese na základě metadat souboru.
Podporované typy jsou none, gzip, snappy (výchozí) a lzo. Všimněte si, že v současné době aktivita Copy nepodporuje LZO při čtení a zápisu souborů Parquet.
No

Poznámka:

Pro soubory Parquet není podporováno prázdné znaky v názvu sloupce.

Níže je příklad datové sady Parquet ve službě Azure Blob Storage:

{
    "name": "ParquetDataset",
    "properties": {
        "type": "Parquet",
        "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",
            },
            "compressionCodec": "snappy"
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou Parquet.

Parquet jako zdroj

Následující vlastnosti jsou podporovány v části aktivity kopírování *source* .

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivity kopírování musí být nastavena na ParquetSource. Ano
storeSettings Skupina vlastností, jak číst data z úložiště dat. Každý konektor založený na souborech má vlastní podporovaná nastavení čtení v části storeSettings. Podrobnosti najdete v článku o konektoru –> aktivita Copy části vlastností. No

Parquet jako jímka

Následující vlastnosti jsou podporovány v části aktivity kopírování *jímka*.

Vlastnost Popis Povinní účastníci
type Vlastnost typu jímky aktivity kopírování musí být nastavena na ParquetSink. Ano
formatSettings Skupina vlastností. Níže najdete tabulku nastavení zápisu parquet. No
storeSettings Skupina vlastností pro zápis dat do úložiště dat. Každý konektor založený na souborech má vlastní podporovaná nastavení zápisu v části storeSettings. Podrobnosti najdete v článku o konektoru –> aktivita Copy části vlastností. No

Podporované nastavení zápisu Parquet v části formatSettings:

Vlastnost Popis Povinní účastníci
type Typ formatSettings musí být nastaven na ParquetWriteSettings. Ano
maxRowsPerFile Při zápisu dat do složky se můžete rozhodnout zapisovat do více souborů a zadat maximální počet řádků na soubor. No
fileNamePrefix Platí, pokud maxRowsPerFile je nakonfigurováno.
Při zápisu dat do více souborů zadejte předponu názvu souboru, výsledkem je tento vzor: <fileNamePrefix>_00000.<fileExtension>. Pokud není zadána, automaticky se vygeneruje předpona názvu souboru. Tato vlastnost se nevztahuje, pokud zdroj je úložiště dat založené na souborech nebo úložiště dat s povolenou možností oddílu.
No

Mapování vlastností toku dat

Při mapování toků dat můžete číst a zapisovat do formátu Parquet v následujících úložištích dat: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 a SFTP a můžete číst parquet formát v AmazonU S3.

Vlastnosti zdroje

Následující tabulka uvádí vlastnosti podporované zdrojem parquet. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Formát Formát musí být parquet ano parquet format
Cesty se zástupnými kartami Zpracují se všechny soubory odpovídající cestě se zástupným znakem. Přepíše složku a cestu k souboru nastavenou v datové sadě. ne Řetězec[] Zástupné cardPaths
Kořenová cesta oddílu Pro data souborů rozdělená do oddílů můžete zadat kořenovou cestu oddílu, abyste mohli číst dělené složky jako sloupce. ne String partitionRootPath
Seznam souborů Určuje, jestli váš zdroj ukazuje na textový soubor se seznamem souborů, které se mají zpracovat. ne true nebo false fileList
Sloupec pro uložení názvu souboru Vytvoření nového sloupce s názvem zdrojového souboru a cestou ne String rowUrlColumn
Po dokončení Soubory po zpracování odstraňte nebo přesuňte. Cesta k souboru začíná z kořenového adresáře kontejneru. ne Odstranit: true nebo false
Pohnout: [<from>, <to>]
purgeFiles
moveFiles
Filtrovat podle poslední změny Zvolte filtrování souborů na základě toho, kdy byly naposledy změněny. ne Časové razítko modifiedAfter
modifiedBefore
Povolit žádné nalezené soubory Pokud je pravda, chyba se nevyvolá, pokud se nenašly žádné soubory. ne true nebo false ignoreNoFilesFound

Příklad zdroje

Následující obrázek je příkladem konfigurace zdroje parquet v mapování toků dat.

Zdroj Parquet

Přidružený skript toku dat je:

source(allowSchemaDrift: true,
    validateSchema: false,
    rowUrlColumn: 'fileName',
    format: 'parquet') ~> ParquetSource

Vlastnosti jímky

Následující tabulka uvádí vlastnosti podporované jímkou parquet. Tyto vlastnosti můžete upravit na kartě Nastavení .

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Formát Formát musí být parquet ano parquet format
Vymazání složky Pokud je cílová složka před zápisem vymazána. ne true nebo false truncate
Možnost názvu souboru Formát pojmenování zapsaných dat. Ve výchozím nastavení je ve formátu jeden soubor na oddíl. part-#####-tid-<guid> ne Vzor: Řetězec
Na oddíl: String[]
Jako data ve sloupci: Řetězec
Výstup do jednoho souboru: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames

Příklad jímky

Následující obrázek je příkladem konfigurace jímky parquet v mapování toků dat.

Jímka Parquet

Přidružený skript toku dat je:

ParquetSource sink(
    format: 'parquet',
    filePattern:'output[n].parquet',
    truncate: true,
    allowSchemaDrift: true,
    validateSchema: false,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> ParquetSink

Podpora datových typů

Složité datové typy Parquet (např. MAP, LIST, STRUCT) se v současné době podporují jenom v Tok dat, ne v aktivitě kopírování. Pokud chcete použít složité typy v tocích dat, neimportujte schéma souboru v datové sadě a ponechejte schéma prázdné v datové sadě. Potom v transformaci zdroje naimportujte projekce.