Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Rust:Đọc dataframe trong các cực từ mysql

Câu trả lời tương tự như trong câu hỏi này , có vẻ như IMO khá trùng lặp.

Bạn có thể sử dụng các trình xây dựng cho điều đó hoặc thu thập từ các trình vòng lặp. Việc thu thập từ các trình lặp thường nhanh chóng, nhưng trong trường hợp này, nó yêu cầu bạn lặp lại Vec<Country> hai lần, vì vậy bạn nên chuẩn.

Dưới đây là một chức năng ví dụ cho cả hai giải pháp được hiển thị.

use polars::prelude::*;

struct Country {
    country: String,
    count: i64,
}

fn example_1(values: &[Country]) -> (Series, Series) {
    let ca_country: Utf8Chunked = values.iter().map(|v| &*v.country).collect();
    let ca_count: NoNull<Int64Chunked> = values.iter().map(|v| v.count).collect();
    let mut s_country: Series = ca_country.into();
    let mut s_count: Series = ca_count.into_inner().into();
    s_country.rename("country");
    s_count.rename("country");
    (s_count, s_country)
}

fn example_2(values: &[Country]) -> (Series, Series) {
    let mut country_builder = Utf8ChunkedBuilder::new("country", values.len(), values.len() * 5);
    let mut count_builder = PrimitiveChunkedBuilder::<Int64Type>::new("count", values.len());

    values.iter().for_each(|v| {
        country_builder.append_value(&v.country);
        count_builder.append_value(v.count)
    });

    (
        count_builder.finish().into(),
        country_builder.finish().into(),
    )
}

Khi bạn đã có Series , bạn có thể sử dụng DataFrame::new(columns) trong đó columns: Vec<Series> để tạo DataFrame .

Btw, nếu bạn muốn có hiệu suất tối đa, tôi thực sự khuyên bạn nên sử dụng connector-x . Nó đã có tích hợp cực và mũi tên và có hiệu suất tuyệt vời.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ mục MySQL cho MIN và MAX

  2. Mysql - chọn từ nhiều bảng mà không tạo ra dữ liệu trùng lặp

  3. cách đặt lại mật khẩu của người dùng root trong MySQL workbench

  4. mysql:cách hiệu quả để tìm kiếm hậu tố (như '% text' hay còn gọi là ký tự đại diện tiền tố)?

  5. Truy vấn MySQL Giá trị Tối thiểu