@@ -19,7 +19,6 @@ use std::collections::HashMap;
1919use std:: sync:: Arc ;
2020
2121use arrow_array:: { ArrayRef , Float64Array , Int32Array , LargeBinaryArray , StringArray } ;
22- use futures:: TryStreamExt ;
2322use geo_types:: { Geometry , Point } ;
2423use iceberg:: spec:: { NestedField , PrimitiveType , Schema , Type } ;
2524use iceberg:: writer:: IcebergWriterBuilder ;
@@ -54,22 +53,6 @@ struct GeoFeature {
5453}
5554
5655impl GeoFeature {
57- fn new (
58- id : i32 ,
59- name : & str ,
60- properties : HashMap < String , String > ,
61- geometry : Geometry ,
62- srid : i32 ,
63- ) -> Self {
64- Self {
65- id,
66- name : name. to_string ( ) ,
67- properties,
68- geometry,
69- srid,
70- }
71- }
72-
7356 fn bbox ( & self ) -> ( f64 , f64 , f64 , f64 ) {
7457 match & self . geometry {
7558 Geometry :: Point ( point) => {
@@ -286,14 +269,6 @@ async fn main() {
286269 . unwrap( )
287270 . contains( & table_ident)
288271 ) ;
289- let schema: Arc < arrow_schema:: Schema > = Arc :: new (
290- _created_table
291- . metadata ( )
292- . current_schema ( )
293- . as_ref ( )
294- . try_into ( )
295- . unwrap ( ) ,
296- ) ;
297272 let location_generator =
298273 DefaultLocationGenerator :: new ( _created_table. metadata ( ) . clone ( ) ) . unwrap ( ) ;
299274 let file_name_generator = DefaultFileNameGenerator :: new (
@@ -312,45 +287,47 @@ async fn main() {
312287 file_name_generator. clone ( ) ,
313288 ) ;
314289 let data_file_writer_builder = DataFileWriterBuilder :: new ( rolling_file_writer_builder) ;
315- let data_file_writer = data_file_writer_builder. build ( None ) . await . unwrap ( ) ;
290+ // let data_file_writer = data_file_writer_builder.build(None).await.unwrap();
316291
317292 let features = mock_sample_features ( ) ;
318- let ids: ArrayRef = Arc :: new ( Int32Array :: from_iter_values ( features. iter ( ) . map ( |f| f. id ) ) ) ;
319- let names: ArrayRef = Arc :: new ( StringArray :: from_iter_values (
320- features. iter ( ) . map ( |f| f. name . as_str ( ) ) ,
321- ) ) ;
322- let geometries_wkb: ArrayRef = Arc :: new ( LargeBinaryArray :: from_iter_values (
323- features. iter ( ) . map ( |f| f. to_wkb ( ) ) ,
324- ) ) ;
325- let geometry_types: ArrayRef = Arc :: new ( StringArray :: from_iter_values (
326- features. iter ( ) . map ( |f| f. geometry_type ( ) ) ,
327- ) ) ;
328- let srids: ArrayRef = Arc :: new ( Int32Array :: from_iter_values (
329- features. iter ( ) . map ( |f| f. srid ) ,
330- ) ) ;
331- let bbox_min_xs: ArrayRef = Arc :: new ( Float64Array :: from_iter_values (
332- features. iter ( ) . map ( |f| f. bbox ( ) . 0 ) ,
333- ) ) ;
334- let bbox_min_ys: ArrayRef = Arc :: new ( Float64Array :: from_iter_values (
335- features. iter ( ) . map ( |f| f. bbox ( ) . 1 ) ,
336- ) ) ;
337- let bbox_max_xs: ArrayRef = Arc :: new ( Float64Array :: from_iter_values (
338- features. iter ( ) . map ( |f| f. bbox ( ) . 2 ) ,
339- ) ) ;
340- let bbox_max_ys: ArrayRef = Arc :: new ( Float64Array :: from_iter_values (
341- features. iter ( ) . map ( |f| f. bbox ( ) . 3 ) ,
342- ) ) ;
293+ /*
294+ let ids: ArrayRef = Arc::new(Int32Array::from_iter_values(features.iter().map(|f| f.id)));
295+ let names: ArrayRef = Arc::new(StringArray::from_iter_values(
296+ features.iter().map(|f| f.name.as_str()),
297+ ));
298+ let geometries_wkb: ArrayRef = Arc::new(LargeBinaryArray::from_iter_values(
299+ features.iter().map(|f| f.to_wkb()),
300+ ));
301+ let geometry_types: ArrayRef = Arc::new(StringArray::from_iter_values(
302+ features.iter().map(|f| f.geometry_type()),
303+ ));
304+ let srids: ArrayRef = Arc::new(Int32Array::from_iter_values(
305+ features.iter().map(|f| f.srid),
306+ ));
307+ let bbox_min_xs: ArrayRef = Arc::new(Float64Array::from_iter_values(
308+ features.iter().map(|f| f.bbox().0),
309+ ));
310+ let bbox_min_ys: ArrayRef = Arc::new(Float64Array::from_iter_values(
311+ features.iter().map(|f| f.bbox().1),
312+ ));
313+ let bbox_max_xs: ArrayRef = Arc::new(Float64Array::from_iter_values(
314+ features.iter().map(|f| f.bbox().2),
315+ ));
316+ let bbox_max_ys: ArrayRef = Arc::new(Float64Array::from_iter_values(
317+ features.iter().map(|f| f.bbox().3),
318+ ));
343319
344- let countries: ArrayRef = Arc :: new ( StringArray :: from_iter_values (
345- features
346- . iter ( )
347- . map ( |f| f. properties . get ( "country" ) . unwrap ( ) . as_str ( ) ) ,
348- ) ) ;
349- let populations: ArrayRef = Arc :: new ( StringArray :: from_iter_values (
350- features
351- . iter ( )
352- . map ( |f| f. properties . get ( "population" ) . unwrap ( ) . as_str ( ) ) ,
353- ) ) ;
320+ let countries: ArrayRef = Arc::new(StringArray::from_iter_values(
321+ features
322+ .iter()
323+ .map(|f| f.properties.get("country").unwrap().as_str()),
324+ ));
325+ let populations: ArrayRef = Arc::new(StringArray::from_iter_values(
326+ features
327+ .iter()
328+ .map(|f| f.properties.get("population").unwrap().as_str()),
329+ ));
330+ */
354331 //TODO: make write with credentials
355332 /*let record_batch = RecordBatch::try_new(schema.clone(), vec![
356333 ids,
0 commit comments