Skip to content

Commit 2915486

Browse files
author
Devdutt Shenoi
committed
refactor: serde Compression
1 parent 4da90f8 commit 2915486

File tree

2 files changed

+22
-31
lines changed

2 files changed

+22
-31
lines changed

src/cli.rs

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ impl Cli {
423423
.arg(
424424
// RowGroupSize controls the number of rows present in one row group
425425
// More rows = better compression but HIGHER Memory consumption during read/write
426-
// 1048576 is the default value for DataFusion
426+
// 1048576 is the default value for DataFusion
427427
Arg::new(Self::ROW_GROUP_SIZE)
428428
.long(Self::ROW_GROUP_SIZE)
429429
.env("P_PARQUET_ROW_GROUP_SIZE")
@@ -591,20 +591,12 @@ impl FromArgMatches for Cli {
591591
.get_one::<usize>(Self::ROW_GROUP_SIZE)
592592
.cloned()
593593
.expect("default for row_group size");
594-
self.parquet_compression = match m
595-
.get_one::<String>(Self::PARQUET_COMPRESSION_ALGO)
596-
.expect("default for compression algo")
597-
.as_str()
598-
{
599-
"uncompressed" => Compression::UNCOMPRESSED,
600-
"snappy" => Compression::SNAPPY,
601-
"gzip" => Compression::GZIP,
602-
"lzo" => Compression::LZO,
603-
"brotli" => Compression::BROTLI,
604-
"lz4" => Compression::LZ4,
605-
"zstd" => Compression::ZSTD,
606-
_ => unreachable!(),
607-
};
594+
self.parquet_compression = serde_json::from_str(
595+
m.get_one::<String>(Self::PARQUET_COMPRESSION_ALGO)
596+
.expect("default for compression algo")
597+
.as_str(),
598+
)
599+
.expect("unexpected compression algo");
608600

609601
let openid_client_id = m.get_one::<String>(Self::OPENID_CLIENT_ID).cloned();
610602
let openid_client_secret = m.get_one::<String>(Self::OPENID_CLIENT_SECRET).cloned();

src/option.rs

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -253,29 +253,28 @@ pub enum Mode {
253253
All,
254254
}
255255

256-
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
257-
#[allow(non_camel_case_types, clippy::upper_case_acronyms)]
256+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize)]
258257
pub enum Compression {
259-
UNCOMPRESSED,
260-
SNAPPY,
261-
GZIP,
262-
LZO,
263-
BROTLI,
258+
Uncompressed,
259+
Snappy,
260+
Gzip,
261+
Lzo,
262+
Brotli,
264263
#[default]
265-
LZ4,
266-
ZSTD,
264+
Lz4,
265+
Zstd,
267266
}
268267

269268
impl From<Compression> for parquet::basic::Compression {
270269
fn from(value: Compression) -> Self {
271270
match value {
272-
Compression::UNCOMPRESSED => parquet::basic::Compression::UNCOMPRESSED,
273-
Compression::SNAPPY => parquet::basic::Compression::SNAPPY,
274-
Compression::GZIP => parquet::basic::Compression::GZIP(GzipLevel::default()),
275-
Compression::LZO => parquet::basic::Compression::LZO,
276-
Compression::BROTLI => parquet::basic::Compression::BROTLI(BrotliLevel::default()),
277-
Compression::LZ4 => parquet::basic::Compression::LZ4,
278-
Compression::ZSTD => parquet::basic::Compression::ZSTD(ZstdLevel::default()),
271+
Compression::Uncompressed => parquet::basic::Compression::UNCOMPRESSED,
272+
Compression::Snappy => parquet::basic::Compression::SNAPPY,
273+
Compression::Gzip => parquet::basic::Compression::GZIP(GzipLevel::default()),
274+
Compression::Lzo => parquet::basic::Compression::LZO,
275+
Compression::Brotli => parquet::basic::Compression::BROTLI(BrotliLevel::default()),
276+
Compression::Lz4 => parquet::basic::Compression::LZ4,
277+
Compression::Zstd => parquet::basic::Compression::ZSTD(ZstdLevel::default()),
279278
}
280279
}
281280
}

0 commit comments

Comments
 (0)