@@ -37,7 +37,7 @@ use parquet::{
37
37
arrow:: ArrowWriter ,
38
38
basic:: Encoding ,
39
39
errors:: ParquetError ,
40
- file:: properties:: { WriterProperties , WriterPropertiesBuilder } ,
40
+ file:: properties:: { EnabledStatistics , WriterProperties , WriterPropertiesBuilder } ,
41
41
format:: SortingColumn ,
42
42
schema:: types:: ColumnPath ,
43
43
} ;
@@ -338,8 +338,24 @@ pub fn parquet_writer_props(
338
338
} ;
339
339
sorting_column_vec. push ( sorting_column) ;
340
340
}
341
- props = props. set_sorting_columns ( Some ( sorting_column_vec) ) ;
342
341
342
+ let url_column = ColumnPath :: new ( vec ! [ "URL" . to_string( ) ] ) ;
343
+ props = props
344
+ . set_column_dictionary_enabled ( url_column. clone ( ) , true )
345
+ . set_column_encoding ( url_column. clone ( ) , Encoding :: DELTA_BYTE_ARRAY )
346
+ . set_column_statistics_enabled ( url_column. clone ( ) , EnabledStatistics :: Page ) ;
347
+
348
+ let event_time_column = ColumnPath :: new ( vec ! [ "EventTime" . to_string( ) ] ) ;
349
+ props = props
350
+ . set_column_encoding ( event_time_column. clone ( ) , Encoding :: DELTA_BINARY_PACKED )
351
+ . set_column_statistics_enabled ( event_time_column. clone ( ) , EnabledStatistics :: Page ) ;
352
+
353
+ let user_id_column = ColumnPath :: new ( vec ! [ "UserID" . to_string( ) ] ) ;
354
+ props = props
355
+ . set_column_encoding ( user_id_column. clone ( ) , Encoding :: RLE )
356
+ . set_column_statistics_enabled ( user_id_column. clone ( ) , EnabledStatistics :: Page ) ;
357
+
358
+ props = props. set_sorting_columns ( Some ( sorting_column_vec) ) ;
343
359
props
344
360
}
345
361
0 commit comments