Comments (4)
same problem
from parquet4s.
I found out the issue is caused by ParquetIterable[T].toSeq
not triggering loading full data and I close the data stream.
using ParquetIterable[T].toArray
solving this issue.
from parquet4s.
Oh! That is something interesting. I wonder why Scala's toSeq doesn't iterate over the whole iterable, but toArray does it...
from parquet4s.
Oh! That is something interesting. I wonder why Scala's toSeq doesn't iterate over the whole iterable, but toArray does it...
The code snippet I used is
val data = ParquetReader.as[T].read(Path(_path))
try {
// `.toSeq`:
// failed if there are multi row-groups in the parquet file.
// java.io.IOException: Stream is closed!
data.toArray
} finally {
data.close()
}
we can create multi row-groups parquet file with pandas
In [1]: df = pd.DataFrame([[1,"a"], [2, "b"]], columns=["foo", "bar"])
...: df.to_parquet("test.parquet", row_group_size=1)
In [2]: import pyarrow as pa
In [3]: pa.parquet.read_metadata("test.parquet")
Out[3]:
<pyarrow._parquet.FileMetaData object at 0x7fc8c43bf040>
created_by: parquet-cpp-arrow version 13.0.0
num_columns: 2
num_rows: 2
num_row_groups: 2 # <<<<<<<<<< 2 row groups
format_version: 2.6
serialized_size: 2007
The main reason for .toSeq
failed here is because the lazy implementation under the hood
As with toIterable, it's lazy in this default implementation, as this TraversableOnce may be lazy and unevaluated.
from parquet4s.
Related Issues (20)
- An example for writing a required or optional value codec for custom type with more than one field. HOT 6
- Is schema backwards compatibility on projections possible? HOT 1
- Options `ParquetFileWriter.Mode.OVERWRITE` not deleting old parquet files in S3 HOT 1
- failed to read parquet generated by pandas HOT 5
- Add Pekko support HOT 4
- Is it possible to write a file without Akka or Fs2 integration? HOT 2
- `ParquetReader.projectedGeneric` does not work when selecting more than one column from a same group HOT 5
- Reading from gcs bucket HOT 1
- Do not publish a pekko/akko versions of scapapb module HOT 1
- Protobuf enums deserialisation HOT 3
- compatible parquet-hadoop with spark3.1 HOT 3
- Unsure how to use for 'semiauto' approach HOT 2
- ParquetSchemaResolver test fails on recent JVMs HOT 1
- [akka/pekko] Too many paths created during record partitioning HOT 2
- [RFC] Refactor timestamp codecs HOT 2
- Feature request: Expose partitions as a `Stream[F, Stream[F, Record]]` for FS2 HOT 5
- Incorrect value after reading parquet HOT 7
- [Question] get a listing of parquet files? HOT 4
- [Question] Is there a mechanism to detect when the `rotatingWriter` finishes writing to a file and to be notified of the file that was written? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parquet4s.