Is Azure Data Factory planning to add support for ztsd compression on parquet files?

Gabriel Eckers 0 Reputation points
2025-11-21T02:06:04.1833333+00:00

I've run into some issues previewing parquet data using a pipeline Copy Activity when that data was compressed using the zstd codec. Are there plans for ADF to add support for this (now default in Databricks) compression method?

Example error:

An error occurred when invoking java, message: java.lang.UnsatisfiedLinkError:D:\Users\_azbatchtask_2\AppData\Local\Temp\libzstd-jni-1.5.5-51665259375217484100.dll: Your organization used Device Guard to block this app. Contact your support person for more info
no zstd-jni-1.5.5-5 in java.library.path
Unsupported OS/arch, cannot find /win/amd64/libzstd-jni-1.5.5-5.dll or load zstd-jni-1.5.5-5 from system libraries. Please try building from source the jar or providing libzstd-jni-1.5.5-5 in your system.
total entry:30
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
java.lang.Runtime.loadLibrary0(Runtime.java:870)
java.lang.System.loadLibrary(System.java:1122)
com.github.luben.zstd.util.Native$1.run(Native.java:69)
com.github.luben.zstd.util.Native$1.run(Native.java:67)
java.security.AccessController.doPrivileged(Native Method)
com.github.luben.zstd.util.Native.loadLibrary(Native.java:67)
com.github.luben.zstd.util.Native.load(Native.java:154)
com.github.luben.zstd.util.Native.load(Native.java:85)
com.github.luben.zstd.ZstdOutputStreamNoFinalizer.<clinit>(ZstdOutputStreamNoFinalizer.java:18)
com.github.luben.zstd.RecyclingBufferPool.<clinit>(RecyclingBufferPool.java:18)
org.apache.parquet.hadoop.codec.ZstandardCodec.createInputStream(ZstandardCodec.java:90)
org.apache.parquet.hadoop.codec.ZstandardCodec.createInputStream(ZstandardCodec.java:83)
org.apache.parquet.hadoop.CodecFactory$HeapBytesDecompressor.decompress(CodecFactory.java:112)
org.apache.parquet.hadoop.ColumnChunkPageReadStore$ColumnChunkPageReader.readDictionaryPage(ColumnChunkPageReadStore.java:236)
org.apache.parquet.column.impl.ColumnReaderBase.<init>(ColumnReaderBase.java:410)
org.apache.parquet.column.impl.ColumnReaderImpl.<init>(ColumnReaderImpl.java:46)
org.apache.parquet.column.impl.ColumnReadStoreImpl.getColumnReader(ColumnReadStoreImpl.java:82)
org.apache.parquet.io.RecordReaderImplementation.<init>(RecordReaderImplementation.java:271)
org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:147)
org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:109)
org.apache.parquet.filter2.compat.FilterCompat$NoOpFilter.accept(FilterCompat.java:177)
org.apache.parquet.io.MessageColumnIO.getRecordReader(MessageColumnIO.java:109)
org.apache.parquet.hadoop.InternalParquetRecordReader.checkRead(InternalParquetRecordReader.java:141)
org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.java:230)
org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:132)
org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:136)
com.microsoft.datatransfer.bridge.parquet.ParquetBatchReaderBridge.<init>(ParquetBatchReaderBridge.java:70)
com.microsoft.datatransfer.bridge.parquet.ParquetBatchReaderBridge.open(ParquetBatchReaderBridge.java:64)
com.microsoft.datatransfer.bridge.parquet.ParquetFileBridge.createReader(ParquetFileBridge.java:22)
.

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
{count} votes

2 answers

Sort by: Most helpful
  1. Q&A Assist
    2025-11-21T02:06:17.5366667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Currently, Azure Data Factory (ADF) does not support the Zstandard (zstd) compression codec for Parquet files. The supported compression codecs for Parquet files include options like none, gzip, snappy, and lzo (though lzo is not supported for read/write operations in Copy activity). If you are encountering issues with zstd compression, it may be necessary to consider alternative compression methods that are supported by ADF until zstd support is officially added in the future.

    For the error you are experiencing, it appears to be related to the inability of the Java environment to load the zstd native library. This could be due to security settings such as Device Guard blocking the library from being loaded. You may want to consult your IT support to address this issue regarding the library loading or consider using a different compression codec that is supported by ADF.


    References:

    0 comments No comments

  2. VRISHABHANATH PATIL 1,725 Reputation points Microsoft External Staff Moderator
    2025-11-27T08:29:58.22+00:00

    Hi @Gabriel Eckers

    Public ADF documentation still does not list ZSTD among supported Parquet codecs for classic ADF pipelines. No official doc indicates near-term ZSTD support in classic ADF.

    https://learn.microsoft.com/en-us/azure/data-factory/format-parquet

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.