Formato parquet in Azure Data FactoryParquet format in Azure Data Factory

Seguire questo articolo quando si desidera analizzare i file parquet o scrivere i dati in formato parquet.Follow this article when you want to parse the Parquet files or write the data into Parquet format.

Il formato parquet è supportato per i connettori seguenti: Amazon S3, BLOB di Azure, Azure Data Lake storage Gen1, Azure Data Lake storage Gen2, archiviazione file di Azure, file System, FTP, Google Archiviazione cloud, HDFS, httpe SFTP.Parquet format is supported for the following connectors: Amazon S3, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure File Storage, File System, FTP, Google Cloud Storage, HDFS, HTTP, and SFTP.

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati.For a full list of sections and properties available for defining datasets, see the Datasets article. Questa sezione presenta un elenco delle proprietà supportate dal set di dati parquet.This section provides a list of properties supported by the Parquet dataset.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type del set di dati deve essere impostata su parquet.The type property of the dataset must be set to Parquet. Yes
locationlocation Impostazioni del percorso dei file.Location settings of the file(s). Ogni connettore basato su file ha un tipo di percorso e proprietà supportate in location.Each file-based connector has its own location type and supported properties under location. Per informazioni dettagliate, vedere l'articolo connettore-> sezione Proprietà set di dati.See details in connector article -> Dataset properties section. Yes
compressionCodeccompressionCodec Codec di compressione da usare durante la scrittura in file parquet.The compression codec to use when writing to Parquet files. Durante la lettura da file parquet, Data Factory determina automaticamente il codec di compressione basato sui metadati del file.When reading from Parquet files, Data Factory automatically determine the compression codec based on the file metadata.
I tipi supportati sono "None", "gzip", "Snapper" (impostazione predefinita) e "LZO".Supported types are “none”, “gzip”, “snappy” (default), and "lzo". Nota Attualmente l'attività di copia non supporta LZO.Note currently Copy activity doesn't support LZO.
NoNo

Nota

Lo spazio vuoto nel nome della colonna non è supportato per i file parquet.White space in column name is not supported for Parquet files.

Di seguito è riportato un esempio di set di dati parquet nell'archivio BLOB di Azure:Below is an example of Parquet dataset on 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"
        }
    }
}

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see the Pipelines article. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink parquet.This section provides a list of properties supported by the Parquet source and sink.

Parquet come origineParquet as source

Le proprietà seguenti sono supportate nella sezione *origine* dell'attività di copia.The following properties are supported in the copy activity *source* section.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su ParquetSource.The type property of the copy activity source must be set to ParquetSource. Yes
storeSettingsstoreSettings Un gruppo di proprietà su come leggere i dati da un archivio dati.A group of properties on how to read data from a data store. Ogni connettore basato su file ha le proprie impostazioni di lettura supportate in storeSettings.Each file-based connector has its own supported read settings under storeSettings. Per informazioni dettagliate, vedere l'articolo connettore > sezione proprietà dell'attività di copia.See details in connector article -> Copy activity properties section. NoNo

Parquet come sinkParquet as sink

Le proprietà seguenti sono supportate nella sezione *sink* dell'attività di copia.The following properties are supported in the copy activity *sink* section.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su ParquetSink.The type property of the copy activity source must be set to ParquetSink. Yes
storeSettingsstoreSettings Gruppo di proprietà su come scrivere dati in un archivio dati.A group of properties on how to write data to a data store. Ogni connettore basato su file ha le proprie impostazioni di scrittura supportate in storeSettings.Each file-based connector has its own supported write settings under storeSettings. Per informazioni dettagliate, vedere l'articolo connettore > sezione proprietà dell'attività di copia.See details in connector article -> Copy activity properties section. NoNo

Mapping delle proprietà del flusso di datiMapping data flow properties

Per informazioni dettagliate, vedere trasformazione origine e trasformazione sink nel flusso di dati del mapping.Learn details from source transformation and sink transformation in mapping data flow.

Supporto dei tipi di datiData type support

I tipi di dati parquet complessi non sono attualmente supportati (ad esempio, MAP, LIST, STRUCT).Parquet complex data types are currently not supported (e.g. MAP, LIST, STRUCT).

Uso di Integration Runtime self-hostedUsing Self-hosted Integration Runtime

Importante

Per le copie attivate dal runtime di integrazione self-hosted, ad esempio tra l'archivio dati locale e quello nel cloud, se non si esegue una copia identica dei file Parquet, è necessario installare JRE 8 (Java Runtime Environment) a 64 bit o OpenJDK nel computer del runtime di integrazione.For copy empowered by Self-hosted Integration Runtime e.g. between on-premises and cloud data stores, if you are not copying Parquet files as-is, you need to install the 64-bit JRE 8 (Java Runtime Environment) or OpenJDK on your IR machine. Per informazioni più dettagliate, vedere il paragrafo seguente.See the following paragraph with more details.

Per la copia in esecuzione nel runtime di integrazione self-hosted con la serializzazione/deserializzazione dei file Parquet, il file di definizione dell'applicazione (AFD) individua il runtime Java eseguendo prima una ricerca di JRE nel Registro di sistema (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) . In caso di esito negativo, esegue una ricerca di OpenJDK nella variabile di sistema JAVA_HOME .For copy running on Self-hosted IR with Parquet file serialization/deserialization, ADF locates the Java runtime by firstly checking the registry (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) for JRE, if not found, secondly checking system variable JAVA_HOME for OpenJDK.

  • Per usare JRE: il runtime di integrazione a 64 bit richiede jre a 64 bit.To use JRE: The 64-bit IR requires 64-bit JRE. disponibile qui.You can find it from here.
  • Per usare OpenJDK: è supportato a partire dalla versione 3.13 del runtime di integrazione.To use OpenJDK: it's supported since IR version 3.13. Includere jvm.dll in un pacchetto con tutti gli altri assembly necessari di OpenJDK nel computer del runtime di integrazione self-hosted e impostare di conseguenza la variabile di ambiente di sistema JAVA_HOME.Package the jvm.dll with all other required assemblies of OpenJDK into Self-hosted IR machine, and set system environment variable JAVA_HOME accordingly.

Suggerimento

Se si copiano i dati nel/dal formato Parquet usando il runtime di integrazione self-hosted e si verifica l'errore "An error occurred when invoking java, message: java.lang.OutOfMemoryError:Java heap space" (Errore durante la chiamata di Java, messaggio: java.lang.OutOfMemoryError: spazio dell'heap di Java), è possibile aggiungere una variabile di ambiente _JAVA_OPTIONS nel computer che ospita il runtime di integrazione self-hosted per regolare le dimensioni min/max dell'heap per JVM e poter ottimizzare la copia, quindi eseguire di nuovo la pipeline.If you copy data to/from Parquet format using Self-hosted Integration Runtime and hit error saying "An error occurred when invoking java, message: java.lang.OutOfMemoryError:Java heap space", you can add an environment variable _JAVA_OPTIONS in the machine that hosts the Self-hosted IR to adjust the min/max heap size for JVM to empower such copy, then rerun the pipeline.

Impostare le dimensioni dell'heap JVM nel runtime di integrazione self-hosted

Esempio: impostare la variabile _JAVA_OPTIONS con il valore -Xms256m -Xmx16g.Example: set variable _JAVA_OPTIONS with value -Xms256m -Xmx16g. Il flag Xms specifica il pool di allocazione della memoria iniziale per Java Virtual Machine (JVM), mentre Xmx specifica il pool di allocazione della memoria massima.The flag Xms specifies the initial memory allocation pool for a Java Virtual Machine (JVM), while Xmx specifies the maximum memory allocation pool. JVM verrà quindi avviato con una quantità di memoria pari a Xms e potrà usare una quantità massima di memoria pari a Xmx.This means that JVM will be started with Xms amount of memory and will be able to use a maximum of Xmx amount of memory. Per impostazione predefinita, Azure Data Factory usa una quantità di memoria minima pari a 64 MB e una quantità di memoria massima pari a 1 GB.By default, ADF use min 64MB and max 1G.

Passaggi successiviNext steps