S-JIS[2024-10-21] 変更履歴

arrow FileReader構造体

RustarrowのFileReaderのメモ。


概要

FileReader構造体を使って、ArrowのRecordBatchをファイルから読み込むことが出来る。


ファイルから読む例

RecordBatchをファイルから読み込む例。

use std::fs::File;

use arrow::{
    array::RecordBatch,
    error::ArrowError,
    ipc::reader::FileReader,
};
fn read_file() -> Result<(), ArrowError> {
    let file = File::open("example.arrow").unwrap();

    let mut reader = FileReader::try_new(file, None)?;
    while let Some(result) = reader.next() {
        let batch = result?;				// RecordBatch
        println!("read {:?}", batch);
    }

    Ok(())
}

ファイルを出力する例


バイト列を読み込む例

RecordBatchをバイト列から読み込む例。

use std::io::Cursor;
fn read_bytes(bytes: &Vec<u8>) -> Result<(), ArrowError> {
    let cursor = Cursor::new(bytes);

    let mut reader = FileReader::try_new(cursor, None)?;
    while let Some(result) = reader.next() {
        let batch = result?;
        println!("read_bytes={:?}", batch);
    }

    Ok(())
}

Fileの代わりにCursor<&Vec<u8>>から読み込む。

バイト列を出力する例


arrowへ戻る / Rustへ戻る / 技術メモへ戻る
メールの送信先:ひしだま