Package org.apache.iceberg
Class ManifestFiles
java.lang.Object
org.apache.iceberg.ManifestFiles
-
Method Summary
Modifier and TypeMethodDescriptionstatic ManifestFile
decode
(byte[] manifestData) Decode the binary data into aManifestFile
.static void
Drop manifest file cache object for a FileIO if exists.static byte[]
encode
(ManifestFile manifestFile) Encode theManifestFile
to a byte array by using avro encoder.static ManifestReader<DataFile>
read
(ManifestFile manifest, FileIO io) Returns a newManifestReader
for aManifestFile
.static ManifestReader<DataFile>
read
(ManifestFile manifest, FileIO io, Map<Integer, PartitionSpec> specsById) Returns a newManifestReader
for aManifestFile
.static ManifestReader<DeleteFile>
readDeleteManifest
(ManifestFile manifest, FileIO io, Map<Integer, PartitionSpec> specsById) Returns a newManifestReader
for aManifestFile
.static CloseableIterable<String>
readPaths
(ManifestFile manifest, FileIO io) Returns aCloseableIterable
of file paths in theManifestFile
.static ManifestWriter<DataFile>
write
(int formatVersion, PartitionSpec spec, EncryptedOutputFile encryptedOutputFile, Long snapshotId) Create a newManifestWriter
for the given format version.static ManifestWriter<DataFile>
write
(int formatVersion, PartitionSpec spec, OutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.static ManifestWriter<DataFile>
write
(PartitionSpec spec, OutputFile outputFile) Create a newManifestWriter
.static ManifestWriter<DeleteFile>
writeDeleteManifest
(int formatVersion, PartitionSpec spec, EncryptedOutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.static ManifestWriter<DeleteFile>
writeDeleteManifest
(int formatVersion, PartitionSpec spec, OutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.
-
Method Details
-
dropCache
Drop manifest file cache object for a FileIO if exists. -
readPaths
Returns aCloseableIterable
of file paths in theManifestFile
.- Parameters:
manifest
- a ManifestFileio
- a FileIO- Returns:
- a manifest reader
-
read
Returns a newManifestReader
for aManifestFile
.Note: Callers should use
read(ManifestFile, FileIO, Map)
to ensure the schema used by filters is the latest table schema. This should be used only when reading a manifest without filters.- Parameters:
manifest
- a ManifestFileio
- a FileIO- Returns:
- a manifest reader
-
read
public static ManifestReader<DataFile> read(ManifestFile manifest, FileIO io, Map<Integer, PartitionSpec> specsById) Returns a newManifestReader
for aManifestFile
.- Parameters:
manifest
- aManifestFile
io
- aFileIO
specsById
- a Map from spec ID to partition spec- Returns:
- a
ManifestReader
-
write
Create a newManifestWriter
.Manifests created by this writer have all entry snapshot IDs set to null. All entries will inherit the snapshot ID that will be assigned to the manifest on commit.
- Parameters:
spec
-PartitionSpec
used to produceDataFile
partition tuplesoutputFile
- the destination file location- Returns:
- a manifest writer
-
write
public static ManifestWriter<DataFile> write(int formatVersion, PartitionSpec spec, OutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.- Parameters:
formatVersion
- a target format versionspec
- aPartitionSpec
outputFile
- anOutputFile
where the manifest will be writtensnapshotId
- a snapshot ID for the manifest entries, or null for an inherited ID- Returns:
- a manifest writer
-
write
public static ManifestWriter<DataFile> write(int formatVersion, PartitionSpec spec, EncryptedOutputFile encryptedOutputFile, Long snapshotId) Create a newManifestWriter
for the given format version.- Parameters:
formatVersion
- a target format versionspec
- aPartitionSpec
encryptedOutputFile
- anEncryptedOutputFile
where the manifest will be writtensnapshotId
- a snapshot ID for the manifest entries, or null for an inherited ID- Returns:
- a manifest writer
-
readDeleteManifest
public static ManifestReader<DeleteFile> readDeleteManifest(ManifestFile manifest, FileIO io, Map<Integer, PartitionSpec> specsById) Returns a newManifestReader
for aManifestFile
.- Parameters:
manifest
- aManifestFile
io
- aFileIO
specsById
- a Map from spec ID to partition spec- Returns:
- a
ManifestReader
-
writeDeleteManifest
public static ManifestWriter<DeleteFile> writeDeleteManifest(int formatVersion, PartitionSpec spec, OutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.- Parameters:
formatVersion
- a target format versionspec
- aPartitionSpec
outputFile
- anOutputFile
where the manifest will be writtensnapshotId
- a snapshot ID for the manifest entries, or null for an inherited ID- Returns:
- a manifest writer
-
writeDeleteManifest
public static ManifestWriter<DeleteFile> writeDeleteManifest(int formatVersion, PartitionSpec spec, EncryptedOutputFile outputFile, Long snapshotId) Create a newManifestWriter
for the given format version.- Parameters:
formatVersion
- a target format versionspec
- aPartitionSpec
outputFile
- anEncryptedOutputFile
where the manifest will be writtensnapshotId
- a snapshot ID for the manifest entries, or null for an inherited ID- Returns:
- a manifest writer
-
encode
Encode theManifestFile
to a byte array by using avro encoder.- Parameters:
manifestFile
- aManifestFile
, which should always be aGenericManifestFile
.- Returns:
- the binary data.
- Throws:
IOException
- if encounter any IO error when encoding.
-
decode
Decode the binary data into aManifestFile
.- Parameters:
manifestData
- the binary data.- Returns:
- a
ManifestFile
. To be precise, it's aGenericManifestFile
which don't expose to public. - Throws:
IOException
- if encounter any IO error when decoding.
-