Skip to content

Read from csv default datatype setting to utf8view #16241

Open
@zhuqi-lucas

Description

@zhuqi-lucas

Is your feature request related to a problem or challenge?

Currently, read from CSV default to UTF8, when setting to UTF8, the performance improved a lot from my local mac, need to verify.

See the result:

./bench.sh compare  main  default_utf8_for_unkown_type
Comparing main and default_utf8_for_unkown_type
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/clickbench_1.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/clickbench_1.json does not exist
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/clickbench_partitioned.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/clickbench_partitioned.json does not exist
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/h2o_join.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/h2o_join.json does not exist
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/sort_tpch.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/sort_tpch.json does not exist
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/sort_tpch1.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/sort_tpch1.json does not exist
Note: Skipping /Users/zhuqi/arrow-datafusion/benchmarks/results/main/sort_tpch10.json as /Users/zhuqi/arrow-datafusion/benchmarks/results/default_utf8_for_unkown_type/sort_tpch10.json does not exist
--------------------
Benchmark tpch_mem_sf10.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      main ┃ default_utf8_for_unkown_type ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1328.67ms │                     321.92ms │     no change │
│ QQuery 263.01ms │                      61.09ms │     no change │
│ QQuery 3115.07ms │                     115.89ms │     no change │
│ QQuery 465.51ms │                      65.96ms │     no change │
│ QQuery 5226.31ms │                     228.79ms │     no change │
│ QQuery 649.78ms │                      55.67ms │  1.12x slower │
│ QQuery 7500.94ms │                     491.28ms │     no change │
│ QQuery 8169.84ms │                     170.33ms │     no change │
│ QQuery 9376.36ms │                     377.73ms │     no change │
│ QQuery 10173.76ms │                     176.28ms │     no change │
│ QQuery 1144.19ms │                      44.36ms │     no change │
│ QQuery 12177.45ms │                     176.37ms │     no change │
│ QQuery 13120.58ms │                     119.20ms │     no change │
│ QQuery 1423.83ms │                      22.58ms │ +1.06x faster │
│ QQuery 1556.57ms │                      55.66ms │     no change │
│ QQuery 1651.25ms │                      53.85ms │  1.05x slower │
│ QQuery 17419.65ms │                     398.08ms │ +1.05x faster │
│ QQuery 182142.91ms │                    1926.17ms │ +1.11x faster │
│ QQuery 1980.08ms │                      80.44ms │     no change │
│ QQuery 20110.32ms │                     108.41ms │     no change │
│ QQuery 21835.77ms │                     776.81ms │ +1.08x faster │
│ QQuery 2251.87ms │                      50.27ms │     no change │
└──────────────┴───────────┴──────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                           ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (main)6183.72ms │
│ Total Time (default_utf8_for_unkown_type)5877.13ms │
│ Average Time (main)281.08ms │
│ Average Time (default_utf8_for_unkown_type)267.14ms │
│ Queries Faster4 │
│ Queries Slower2 │
│ Queries with No Change16 │
└─────────────────────────────────────────────┴───────────┘
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃    main ┃ default_utf8_for_unkown_type ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 153.89ms │                      55.31ms │     no change │
│ QQuery 218.83ms │                      18.69ms │     no change │
│ QQuery 327.53ms │                      28.45ms │     no change │
│ QQuery 419.24ms │                      20.74ms │  1.08x slower │
│ QQuery 538.84ms │                      38.58ms │     no change │
│ QQuery 618.38ms │                      17.62ms │     no change │
│ QQuery 749.14ms │                      50.69ms │     no change │
│ QQuery 838.30ms │                      39.04ms │     no change │
│ QQuery 970.32ms │                      46.85ms │ +1.50x faster │
│ QQuery 1058.20ms │                      39.86ms │ +1.46x faster │
│ QQuery 1120.48ms │                      13.67ms │ +1.50x faster │
│ QQuery 1236.34ms │                      29.02ms │ +1.25x faster │
│ QQuery 1330.98ms │                      27.47ms │ +1.13x faster │
│ QQuery 1422.34ms │                      22.23ms │     no change │
│ QQuery 1533.72ms │                      33.16ms │     no change │
│ QQuery 1612.58ms │                      12.55ms │     no change │
│ QQuery 1757.71ms │                      56.33ms │     no change │
│ QQuery 1867.58ms │                      68.15ms │     no change │
│ QQuery 1933.12ms │                      36.06ms │  1.09x slower │
│ QQuery 2027.81ms │                      28.32ms │     no change │
│ QQuery 2157.20ms │                      58.21ms │     no change │
│ QQuery 2212.38ms │                      12.75ms │     no change │
└──────────────┴─────────┴──────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (main)804.91ms │
│ Total Time (default_utf8_for_unkown_type)753.77ms │
│ Average Time (main)36.59ms │
│ Average Time (default_utf8_for_unkown_type)34.26ms │
│ Queries Faster5 │
│ Queries Slower2 │
│ Queries with No Change15 │
└─────────────────────────────────────────────┴──────────┘

Describe the solution you'd like

No response

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions