29#include <unordered_map>
32#include "iceberg/iceberg_data_export.h"
33#include "iceberg/result.h"
35namespace iceberg::puffin {
44ICEBERG_DATA_EXPORT std::string_view CodecName(PuffinCompressionCodec codec);
46ICEBERG_DATA_EXPORT Result<PuffinCompressionCodec> PuffinCompressionCodecFromName(
47 std::string_view codec_name);
49ICEBERG_DATA_EXPORT std::string ToString(PuffinCompressionCodec codec);
56 "apache-datasketches-theta-v1";
66 static constexpr std::string_view
kCreatedBy =
"created-by";
70struct ICEBERG_DATA_EXPORT
Blob {
79 std::vector<uint8_t> data;
82 std::unordered_map<std::string, std::string> properties;
84 friend bool operator==(
const Blob& lhs,
const Blob& rhs) =
default;
87ICEBERG_DATA_EXPORT std::string ToString(
const Blob& blob);
103 std::unordered_map<std::string, std::string> properties;
108ICEBERG_DATA_EXPORT std::string ToString(
const BlobMetadata& blob_metadata);
112 std::vector<BlobMetadata> blobs;
113 std::unordered_map<std::string, std::string> properties;
118ICEBERG_DATA_EXPORT std::string ToString(
const FileMetadata& file_metadata);
A blob in a Puffin file.
Definition file_metadata.h:70
int64_t snapshot_id
ID of the Iceberg table's snapshot the blob was computed from.
Definition file_metadata.h:76
std::vector< int32_t > input_fields
Ordered list of field IDs the blob was computed from.
Definition file_metadata.h:74
std::string type
See StandardBlobTypes for known types.
Definition file_metadata.h:72
std::optional< PuffinCompressionCodec > requested_compression
If not set, the writer's default codec will be used.
Definition file_metadata.h:81
int64_t sequence_number
Sequence number of the Iceberg table's snapshot the blob was computed from.
Definition file_metadata.h:78
Standard blob types defined by the Iceberg specification.
Definition file_metadata.h:52
static constexpr std::string_view kApacheDatasketchesThetaV1
Definition file_metadata.h:55
static constexpr std::string_view kDeletionVectorV1
A serialized deletion vector according to the Iceberg spec.
Definition file_metadata.h:59
Standard file-level properties for Puffin files.
Definition file_metadata.h:63
static constexpr std::string_view kCreatedBy
Definition file_metadata.h:66