Sdílet prostřednictvím


Formát ORC ve službě Azure Data Factory a 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 analyzovat soubory ORC nebo zapisovat data do formátu ORC, postupujte podle tohoto článku.

Formát ORC je podporovaný pro následující konektory: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage a SFTP.

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 ORC.

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavena na Hodnotu Orc. 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ů ORC. Při čtení ze souborů ORC datové továrny automaticky určují kodek komprese na základě metadat souboru.
Podporované typy nejsou žádné, zlib, 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ů ORC.
No

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

{
    "name": "OrcDataset",
    "properties": {
        "type": "Orc",
        "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",
            }
        }
    }
}

Mějte na paměti následující body:

  • Komplexní datové typy (např. MAP, LIST, STRUCT) se v současné době podporují pouze v Tok dat, nikoli 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.
  • Prázdné znaky v názvu sloupce se nepodporují.

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 ORC.

ORC 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 OrcSource. 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

ORC 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 Hodnotu OrcSink. Ano
formatSettings Skupina vlastností. Níže najdete tabulku nastavení zápisu ORC. 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 ORC v části formatSettings:

Vlastnost Popis Povinní účastníci
type Typ formatSettings musí být nastaven na OrcWriteSettings. 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 ORC 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 formát ORC v AmazonU S3.

Na soubory ORC můžete odkazovat buď pomocí datové sady ORC, nebo pomocí vložené datové sady.

Vlastnosti zdroje

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

Při použití vložené datové sady se zobrazí další nastavení souborů, která jsou stejná jako vlastnosti popsané v části vlastností datové sady.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Formát Formát musí být orc ano orc 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

Přidružený skript toku dat zdrojové konfigurace ORC:

source(allowSchemaDrift: true,
    validateSchema: false,
    rowUrlColumn: 'fileName',
    format: 'orc') ~> OrcSource

Vlastnosti jímky

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

Při použití vložené datové sady se zobrazí další nastavení souborů, která jsou stejná jako vlastnosti popsané v části vlastností datové sady.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Formát Formát musí být orc ano orc 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

Přidružený skript toku dat konfigurace jímky ORC:

OrcSource sink(
    format: 'orc',
    filePattern:'output[n].orc',
    truncate: true,
    allowSchemaDrift: true,
    validateSchema: false,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> OrcSink

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

Důležité

Pokud chcete kopírovat soubory ORC 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 64bitový balíček JRE 8 (Java Runtime Environment) nebo OpenJDK a Microsoft Visual C++ 2010 Redistributable Package. 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í nebo deserializací souborů ORC služba vyhledá 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 odpovídajícím způsobem nastavte proměnnou systémového prostředí JAVA_HOME.
  • Instalace distribuovatelného balíčku Visual C++ 2010: Distribuovatelný balíček Visual C++ 2010 není nainstalován s instalacemi místního prostředí IR. Najdete ho tady.

Tip

Pokud kopírujete data do nebo z formátu ORC 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 Java", 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 se taková kopie uvolnila, a pak kanál znovu spusťte.

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.