Skip to content

Commit d65609a

Browse files
committed
Use stream in repr to truncate rows
1 parent 78e72c9 commit d65609a

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/dataframe.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use datafusion::dataframe::{DataFrame, DataFrameWriteOptions};
3333
use datafusion::execution::SendableRecordBatchStream;
3434
use datafusion::parquet::basic::{BrotliLevel, Compression, GzipLevel, ZstdLevel};
3535
use datafusion::prelude::*;
36+
use futures::StreamExt;
3637
use pyo3::exceptions::{PyTypeError, PyValueError};
3738
use pyo3::prelude::*;
3839
use pyo3::pybacked::PyBackedStr;
@@ -90,8 +91,16 @@ impl PyDataFrame {
9091
}
9192

9293
fn __repr__(&self, py: Python) -> PyResult<String> {
93-
let df = self.df.as_ref().clone().limit(0, Some(10))?;
94-
let batches = wait_for_future(py, df.collect())?;
94+
let df = self.df.as_ref().clone();
95+
96+
let stream = wait_for_future(py, df.execute_stream()).map_err(py_datafusion_err)?;
97+
98+
let batches: Vec<RecordBatch> = wait_for_future(
99+
py,
100+
stream.take(10).collect::<Vec<_>>())
101+
.into_iter()
102+
.collect::<Result<Vec<_>,_>>()?;
103+
95104
let batches_as_string = pretty::pretty_format_batches(&batches);
96105
match batches_as_string {
97106
Ok(batch) => Ok(format!("DataFrame()\n{batch}")),

0 commit comments

Comments
 (0)