MCPcopy Create free account
hub / github.com/apache/datafusion / map_array

Function map_array

datafusion/common/benches/with_hashes.rs:391–430  ·  view source on GitHub ↗
(num_rows: usize)

Source from the content-addressed store, hash-verified

389}
390
391fn map_array(num_rows: usize) -> ArrayRef {
392 let mut rng = make_rng();
393 let entries_per_row = 5;
394 let total_entries = num_rows * entries_per_row;
395
396 let keys: Int32Array = (0..total_entries)
397 .map(|_| Some(rng.random::<i32>()))
398 .collect();
399 let values: Int64Array = (0..total_entries)
400 .map(|_| Some(rng.random::<i64>()))
401 .collect();
402 let offsets: Vec<i32> = (0..=num_rows)
403 .map(|i| (i * entries_per_row) as i32)
404 .collect();
405
406 let entries = StructArray::try_new(
407 Fields::from(vec![
408 Field::new("keys", DataType::Int32, false),
409 Field::new("values", DataType::Int64, true),
410 ]),
411 vec![Arc::new(keys), Arc::new(values)],
412 None,
413 )
414 .unwrap();
415
416 Arc::new(MapArray::new(
417 Arc::new(Field::new(
418 "entries",
419 DataType::Struct(Fields::from(vec![
420 Field::new("keys", DataType::Int32, false),
421 Field::new("values", DataType::Int64, true),
422 ])),
423 false,
424 )),
425 OffsetBuffer::new(ScalarBuffer::from(offsets)),
426 entries,
427 None,
428 false,
429 ))
430}
431
432fn sparse_union_array(num_rows: usize) -> ArrayRef {
433 let mut rng = make_rng();

Callers 2

criterion_benchmarkFunction · 0.85
sliced_array_benchmarkFunction · 0.85

Calls 5

make_rngFunction · 0.85
newFunction · 0.85
collectMethod · 0.80
StructClass · 0.50
mapMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…