提问人:user21083829 提问时间:1/28/2023 最后编辑:user21083829 更新时间:2/1/2023 访问量:598
如何将 Polars DataFrame 转换为 Vec<RecordBatch>?
How do I convert a Polars DataFrame to Vec<RecordBatch>?
问:
编辑:希望更简洁,我该怎么做?
use polars::prelude::{DataFrame, NamedFrom, df};
use arrow::record_batch::RecordBatch;
fn main() {
let polars_df: DataFrame = df!("cat_data" => &[1.0, 2.0, 3.0, 4.0],
"dog_data" => &[1.0, 2.0, 3.0, 4.0],
"giraffe_data" => &[1.0, 2.0, 3.0, 4.0]).unwrap();
let batches: Vec<RecordBatch> = polars_df/* ??????? */;
for batch in batches {
println!("{:?}", batch);
}
}
初始职位:
如何从 Polars DataFrame 开始,而不是下面使用的 Datafusion DataFrame,其中结果变量的计算结果为 Vec<arrow::record_batch::RecordBatch>
?
let results = df.collect().await.map_err(to_tonic_err)?;
这是上面 Datafusion 使用的收集
函数。
通常,我已经尝试过使用iter_chunks()
和iter_chunks_physical()
等迭代器来解决这个问题,但都失败了。
对于更广泛的上下文,我正在通过此数据融合示例研究箭头飞行的 Polars 实现。
答: 暂无答案
评论