pyarrow.RecordBatchReader#
- class pyarrow.RecordBatchReader#
基类:
_Weakrefable用于读取记录批次流的基类。
记录批次读取器作为记录批次的迭代器运行,同时也提供模式(Schema)(无需获取任何批次)。
警告
请勿直接调用此类构造函数,请改用
RecordBatchReader.from_*函数之一。备注
若要使用 Arrow C 流接口进行导入和导出,请使用
_import_from_c和_export_to_c方法。但请注意,此接口仅供专家用户使用。示例
>>> import pyarrow as pa >>> schema = pa.schema([('x', pa.int64())]) >>> def iter_record_batches(): ... for i in range(2): ... yield pa.RecordBatch.from_arrays([pa.array([1, 2, 3])], schema=schema) >>> reader = pa.RecordBatchReader.from_batches(schema, iter_record_batches()) >>> print(reader.schema) x: int64 >>> for batch in reader: ... print(batch) pyarrow.RecordBatch x: int64 ---- x: [1,2,3] pyarrow.RecordBatch x: int64 ---- x: [1,2,3]
- __init__(*args, **kwargs)#
方法
__init__(*args, **kwargs)cast(self, target_schema)用一个在提取时延迟转换每个批次的读取器来包装此读取器。
close(self)释放与读取器关联的所有资源。
from_batches(Schema schema, batches)从批次的可迭代对象创建 RecordBatchReader。
from_stream(data[, schema])从 Arrow 兼容的流对象创建 RecordBatchReader。
迭代流中的记录批次及其自定义元数据。
read_all(self)读取所有记录批次并作为 pyarrow.Table 返回。
read_next_batch(self)从流中读取下一个 RecordBatch。
从流中读取下一个 RecordBatch 及其自定义元数据。
read_pandas(self, **options)将流内容读取为 pandas.DataFrame。
属性
流中记录批次的共享模式(Schema)。
- cast(self, target_schema)#
用一个在提取时延迟转换每个批次的读取器来包装此读取器。目前仅实现了向 target_schema 的安全转换。
- 参数:
- target_schema
Schema 要转换到的 Schema,字段的名称和顺序必须匹配。
- target_schema
- 返回:
- RecordBatchReader
- close(self)#
释放与读取器关联的所有资源。
- static from_batches(Schema schema, batches)#
从批次的可迭代对象创建 RecordBatchReader。
- 参数:
- schema
Schema 记录批次的共享模式
- batches
Iterable[RecordBatch] 此读取器将返回的批次。
- schema
- 返回:
- readerRecordBatchReader
- static from_stream(data, schema=None)#
从 Arrow 兼容的流对象创建 RecordBatchReader。
这接受实现了 Arrow PyCapsule 流协议的对象,即具有
__arrow_c_stream__方法的对象。
- iter_batches_with_custom_metadata(self)#
迭代流中的记录批次及其自定义元数据。
- 生成:
RecordBatchWithMetadata
- read_next_batch(self)#
从流中读取下一个 RecordBatch。
- 返回:
- 引发:
- StopIteration
位于流末尾时。
- read_next_batch_with_custom_metadata(self)#
从流中读取下一个 RecordBatch 及其自定义元数据。
- 返回:
- batch
RecordBatch - custom_metadata
KeyValueMetadata
- batch
- 引发:
- StopIteration
位于流末尾时。
- read_pandas(self, **options)#
将流内容读取为 pandas.DataFrame。
将所有记录批次读取为 pyarrow.Table,然后使用 Table.to_pandas 将其转换为 pandas.DataFrame。
- 参数:
- **options
转发给
Table.to_pandas()的参数。
- 返回: