Skip to content

Commit e6bb6b8

Browse files
authored
fixup! feat(writer): support partition writer (#16)
fix tests failure, caused by apache#907 Signed-off-by: xxchan <xxchan22f@gmail.com>
1 parent c6ac066 commit e6bb6b8

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

crates/iceberg/src/writer/function_writer/fanout_partition_writer.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,13 +145,15 @@ impl<B: IcebergWriterBuilder> IcebergWriter for FanoutPartitionWriter<B> {
145145

146146
#[cfg(test)]
147147
mod test {
148+
use std::collections::HashMap;
148149
use std::sync::Arc;
149150

150151
use arrow_array::{Int64Array, RecordBatch, StringArray};
151152
use arrow_schema::{DataType, Field, Schema as ArrowSchema};
152153
use arrow_select::concat::concat_batches;
153154
use itertools::Itertools;
154155
use parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder;
156+
use parquet::arrow::PARQUET_FIELD_ID_META_KEY;
155157
use parquet::file::properties::WriterProperties;
156158
use tempfile::TempDir;
157159

@@ -225,8 +227,14 @@ mod test {
225227

226228
// prepare data
227229
let schema = Arc::new(ArrowSchema::new(vec![
228-
Field::new("id", DataType::Int64, true),
229-
Field::new("data", DataType::Utf8, true),
230+
Field::new("id", DataType::Int64, true).with_metadata(HashMap::from([(
231+
PARQUET_FIELD_ID_META_KEY.to_string(),
232+
1.to_string(),
233+
)])),
234+
Field::new("data", DataType::Utf8, true).with_metadata(HashMap::from([(
235+
PARQUET_FIELD_ID_META_KEY.to_string(),
236+
2.to_string(),
237+
)])),
230238
]));
231239
let id_array = Int64Array::from(vec![1, 2, 1, 3, 2, 3, 1]);
232240
let data_array = StringArray::from(vec!["a", "b", "c", "d", "e", "f", "g"]);

crates/iceberg/src/writer/function_writer/precompute_partition_writer.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,15 @@ impl<B: IcebergWriterBuilder> IcebergWriter<(StructArray, RecordBatch)>
140140

141141
#[cfg(test)]
142142
mod test {
143+
use std::collections::HashMap;
143144
use std::sync::Arc;
144145

145146
use arrow_array::{ArrayRef, Int64Array, RecordBatch, StringArray, StructArray};
146147
use arrow_schema::{DataType, Field, Schema as ArrowSchema};
147148
use arrow_select::concat::concat_batches;
148149
use itertools::Itertools;
149150
use parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder;
151+
use parquet::arrow::PARQUET_FIELD_ID_META_KEY;
150152
use parquet::file::properties::WriterProperties;
151153
use tempfile::TempDir;
152154

@@ -219,8 +221,14 @@ mod test {
219221

220222
// prepare data
221223
let schema = Arc::new(ArrowSchema::new(vec![
222-
Field::new("id", DataType::Int64, true),
223-
Field::new("data", DataType::Utf8, true),
224+
Field::new("id", DataType::Int64, true).with_metadata(HashMap::from([(
225+
PARQUET_FIELD_ID_META_KEY.to_string(),
226+
1.to_string(),
227+
)])),
228+
Field::new("data", DataType::Utf8, true).with_metadata(HashMap::from([(
229+
PARQUET_FIELD_ID_META_KEY.to_string(),
230+
2.to_string(),
231+
)])),
224232
]));
225233
let id_array = Int64Array::from(vec![1, 2, 1, 3, 2, 3, 1]);
226234
let data_array = StringArray::from(vec!["a", "b", "c", "d", "e", "f", "g"]);

0 commit comments

Comments
 (0)