reader
假设它是一个pyarrow._flight.FlightStreamReader
对象,我如何遍历它。可以从中获得
reader = client.do_get(flight_info.endpoints[0].ticket, options)
整个example.py
脚本来自https://github.com/dremio-hub/arrow-flight-client-examples/blob/main/python/example.py
目前我尝试reader.read_pandas()
让它为整个 Dremio 结果生成一个数据框。不幸的是,如果查询有超过 5000 万行左右,它可能不适合数据框/或者可能没有足够的内存来存储它,我的进程就会被杀死。如何遍历阅读器对象并获取块,以便我可以为每个块生成数据帧。
当我使用
for chunk in reader.read_chunk():
print(chunk.to_pandas())
对于第一个块,它将仅从结果中转换/提取 3968 行并将其放入数据框中,但对于第二个块,它是一个None
对象。我的示例确实有数百万行。
简而言之,如何按指定的块大小遍历阅读器?是否可以在不将其转换为数据帧的情况下每行打印这些块?