Publish / archive · All operations
Write into an archive
Write into a zip or other archive.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
- Shape of the result
- the table sent out, with nothing new to look at
- Level
- needs an arcform operator
What other tools call it
Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).
Apache Hop (2)
Pentaho Data Integration (1)
Zip Fileread 2026-09-27Create a ZIP archive from files named in stream fields
RapidMiner Studio (2)
Add Entry to Archive Fileread 2026-09-27Add file objects as entries to a zip archive object
Create Archive Fileread 2026-09-27Create an empty zip archive object to which entries can be added
Talend (1)
tFileArchiveread 2026-09-27Pack files or folders into a zip, gzip or tar.gz archive
Background
An archive file stores the content of one or more files, possibly compressed or encrypted, with metadata such as file names and directory structure.[1] An archive file is often used for portability, distribution and backup, and to reduce storage use.[1] Commonly used archive formats include zip, rar, 7z and tar.[1]
When to use it
An archive file keeps file system information, so a directory tree can be sent by email and timestamps can be retained rather than lost in transfer.[1] Transferring a single archive file may be faster than transferring many files, because of per-file overhead, and faster still if the archive is compressed.[1] Reach for an archive when a set of files has to travel or be kept together as one thing, such as a delivery of extracts or a dated snapshot of outputs. (Meridian's view)
The original ZIP format limited the size of a file, its compressed size and the whole archive to 4 GiB, and allowed at most 65,535 entries in an archive.[2] PKWARE, Inc. introduced the ZIP64 format extensions in version 4.5 of the ZIP specification, raising the size limits to 16 EiB.[2] In Python's zipfile module, the allowZip64 option is on by default, and with it switched off the module raises an exception when an archive would need the ZIP64 extensions.[3] In Python's zipfile module, an archive must be closed before the program exits, or essential records will not be written.[3] Treat an archive as unfinished until the writer has closed it, and never hand a reader an archive that is still being written. (Meridian's view)
In Python's zipfile module, archive names should be relative to the archive root, and a leading slash may make the archive impossible to open in some zip programs on Windows.[3] A tar archive created with absolute paths or parent-directory references often extracts files outside the working directory, where they may overwrite existing files.[4] A tar archive whose many items are written into the current directory on extraction, instead of a directory of their own, is called a tarbomb, and making one is considered bad etiquette.[4] The tar format allows several files in one archive to have the same path, and on extraction the later file usually overwrites the earlier one.[4] Write every entry with a relative path under one top-level folder named after the archive, and write each path only once. (Meridian's view)
In Python's zipfile module, setting strict_timestamps to False lets files dated before 1980-01-01 be added, at the cost of setting their timestamp to 1980-01-01.[3] In Python's zipfile module, the writestr method, given only a name for the entry, sets the entry's date and time to the current date and time.[3] Since Python 3.14, the zipfile module's writestr method uses the SOURCE_DATE_EPOCH environment variable, when it is set, as the timestamp of the file it writes.[3] In Python's tarfile module, the gzip header of a compressed archive carries the archive's creation time by default, and an mtime of 0 gives a stream that does not depend on it.[5] When the same inputs should give the same archive bytes, fix every timestamp the writer would otherwise take from the clock. (Meridian's view)
In RapidMiner, files that are already compressed, such as zip or jar files, cannot be compressed further, so a low compression level for those entries saves execution time.[6] In RapidMiner's Create Archive File operator, a memory-buffered archive is usually faster, but the complete archive must be kept in memory, which can cause problems with large or many files.[7] In Apache Hop's Zip File action, the choices when a file already exists at the destination include creating a new one with a unique name, appending to the existing one, or doing nothing, the default.[8] Decide before the first run what should happen when the archive already exists, because a rerun that appends and a rerun that replaces give different archives. (Meridian's view)
The method
The ZIP format was created in 1989 and first implemented in the PKZIP utility of PKWARE, Inc., as a replacement for the ARC compression format by Thom Henderson.[2] The ZIP file format was designed by Phil Katz of PKWARE, Inc. and Gary Conway of Infinity Design Concepts.[2] PKWARE, Inc. and Infinity Design Concepts released the ZIP file format into the public domain in a joint press release on February 14, 1989.[2] The ZIP file format permits a number of compression algorithms, though DEFLATE is the most common.[2]
A ZIP archive stores each file separately, so different files in the same archive can be compressed by different methods, or stored without compression.[2] A ZIP file carries a central directory at its end, listing each file and where it lies in the archive, so a reader can list the files without reading the whole archive.[2] In 2015, ISO/IEC 21320-1, Document Container File, was published, stating that document container files are conforming Zip files.[2] ISO/IEC 21320-1 allows files in a ZIP archive to be stored only uncompressed or with deflate compression, and prohibits the encryption features.[2]
The tar program was originally developed for magnetic tape storage, and its name is short for tape archive.[4] The tar command was introduced to Unix in January 1979.[4] A tar archive is a series of file objects, each holding any file data and preceded by a 512-byte header.[4] A tar archive contains the files' bytes uncompressed, and a separate program such as gzip compresses the entire archive, so archive.tar becomes archive.tar.gz.[4]
Compared with the alternatives
Because the files in a ZIP archive are compressed individually, files can be extracted or added without compressing or decompressing the entire archive, which a compressed tar file does not easily allow.[2] The tar format has no central index of its files, so a tar archive must be read sequentially to list or extract them.[4] Choose ZIP when readers will pick single files out of the archive or it will grow over time, and a compressed tar when it is always read whole. (Meridian's view)
Sources
- [1]Archive file - Wikipediasecondary source
- [2]ZIP (file format) - Wikipediasecondary source
- [3]zipfile — Work with ZIP archives — Python 3.15.2 documentationdocumentation
- [4]tar (computing) - Wikipediasecondary source
- [5]tarfile — Read and write tar archive files — Python 3.15.2 documentationdocumentation
- [6]Add Entry to Archive File - Rapidminer Documentationdocumentation
- [7]Create Archive File - Rapidminer Documentationdocumentation
- [8]Zip File | Apache Hopdocumentation