# .parquet vs .table formats for file storage

**URL:** <https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685>\
**Category:** KNIME Analytics Platform\
**Created:** [August 30, 2021, 8:46am UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685 "2021-08-30T08:46:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dpowyslybbe](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/d/ecd19e/32.png) [@dpowyslybbe](https://forum.knime.com/u/dpowyslybbe)\
**Post date:** [August 30, 2021, 8:46am UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/1 "2021-08-30T08:46:44Z")

</div>

Previously I’ve always stored data from KNIME in the proprietary .table format.

With recent versions support for .parquet files is far better, and from some quick experiments they seem to load/save faster than .table format and they take up far less size. And parquet can be used by other programs too. So is there any reason I shouldn’t just use .parquet files over .table from now on?

The only one I’ve found is that I can’t drag-and-drop a .parquet file from the KNIME Explorer window, but this is hardly a deal breaker for me.

Thanks

---

<div class="post-metadata">

**Author:** ![AlexanderFillbrunn](https://forum-cdn.knime.com/user_avatar/forum.knime.com/alexanderfillbrunn/32/357_2.png) [@AlexanderFillbrunn](https://forum.knime.com/u/AlexanderFillbrunn)\
**Post date:** [September 1, 2021, 8:12am UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/2 "2021-09-01T08:12:50Z")

</div>

Hi,  
If you have only “normal” data types, using the Parquet Reader should not be a problem at all. It does not support everything you can put into a KNIME table, though. I just tested it with the workflow output of a [Capture Workflow End](https://kni.me/n/fnDFDSaCZVy-J3LA) by putting that into a [Model to Cell](https://kni.me/n/GWhtZpnrDMNapedT) node and passing the output of that to the Parquet Writer and it complained about an unsupported data type. This is probably the case with other types as well, but if you are dealing with simple things like Strings and Doubles, you should be fine.  
Kind regards,  
Alexander

---

<div class="post-metadata">

**Author:** ![Daniel\_Weikert](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/d/e47c2d/32.png) [@Daniel\_Weikert](https://forum.knime.com/u/Daniel_Weikert)\
**Post date:** [September 1, 2021, 5:07pm UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/3 "2021-09-01T17:07:38Z")

</div>

@dpowyslybbe  
interesting, can you elaborate on what kind of performance gain we are talking about?  
Thanks

---

<div class="post-metadata">

**Author:** ![dpowyslybbe](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/d/ecd19e/32.png) [@dpowyslybbe](https://forum.knime.com/u/dpowyslybbe)\
**Post date:** [September 1, 2021, 6:18pm UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/4 "2021-09-01T18:18:00Z")

</div>

Thanks, that does make a lot of sense. Whilst I use other data types in workflows typically data in/out is in more standard data types like strings, doubles, date/time, etc.

---

<div class="post-metadata">

**Author:** ![dpowyslybbe](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/d/ecd19e/32.png) [@dpowyslybbe](https://forum.knime.com/u/dpowyslybbe)\
**Post date:** [September 1, 2021, 6:19pm UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/5 "2021-09-01T18:19:07Z")

</div>

I’ve done no scientific experiments, but on a couple of tests I did .parquet seemed to read/write about twice as fast as .table. For context the file was ~20 million rows and 30 columns in size.

---

<div class="post-metadata">

**Author:** ![mlauber71](https://forum-cdn.knime.com/user_avatar/forum.knime.com/mlauber71/32/73590_2.png) [@mlauber71](https://forum.knime.com/u/mlauber71)\
**Post date:** [September 2, 2021, 8:24am UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/6 "2021-09-02T08:24:21Z")

</div>

@dpowyslybbe

At the moment I would stick to the .table format of KNIME for intermediate storage since it is more ‘native’ to KNIME and can store more formats.

If you plan to share data [parquet](https://hub.knime.com/mlauber71/spaces/Public/latest/kn_example_python_read_parquet_file~T2SjTE2RYKitjGT6) or [ORC](https://hub.knime.com/mlauber71/spaces/Public/latest/kn_example_python_read_orc_file~uW1d55taxEotKFHO) might indeed be an option that would keep your formats 'alive

If you are interested in more tweaks you could check ot this collection and also try the parquet internal storage (which still is in official beta I think).

> **[A meta collection about KNIME and performance and performance tuning and some...](https://hub.knime.com/mlauber71/spaces/Public/latest/_knime_performance_and_tuning~iMkc4nou4_2G6OQM#externalresources)**
>
> A meta collection about KNIME and performance and performance tuning and some problems Please be aware: there might not be the one perfect setting for every ta…

---

<div class="post-metadata">

**Author:** ![system](https://forum-cdn.knime.com/uploads/default/original/1X/ab3ccf34482a0329361734a18199390177204f15.png) [@system](https://forum.knime.com/u/system)\
**Post date:** [March 3, 2022, 8:24pm UTC](https://forum.knime.com/t/parquet-vs-table-formats-for-file-storage/35685/7 "2022-03-03T20:24:25Z")

</div>

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.
