7z compression support

Where can we +1 an existing roadmap item or add it to the list. I see that 7z compression is stil not supported either with a custom node or the general Decompress Files node. We have a current project with many 7z files and will likely need to convert them to zip because of this limitation. Any idea if this is on the horizon? Other workarounds that can be suggested? Some of these files are quite large. 60GB+ so take time for processing as well.

Hi @aehrenworth ,

From the following, we could ask @ScottF to +1 (AP-19004) . And add a +1 from me too :wink:.

Assuming you have 7zip installed, as a workaround it ought to be possible to have KNIME generate a script to call 7zip to perform the extraction. Possibly a component could be written to encapsulate this and make it reusable.

What OS are you on, and what is your use case?

eg, Do you have a table of file paths and you want to extract all of them to a common destination, or have you got a specific individual extraction destination for each, or would you have path and destination as variables, maybe?

And are there any specific switches in 7zip you need to be able to control?

Seems like 7zip could probably be incorporated into a community node or component. It would be a cool development project, but I am quite a bit short on spare time these days… :face_with_spiral_eyes:

Release 24.09 · ip7z/7zip · GitHub

@aehrenworth you could employ the Python package “py7zr” to compact and extract 7z files.

2 Likes

@aehrenworth, if you have 7zip installed, you are welcome to try out this (experimental) component:

I’ve only tried this with a small file, on Windows 10.

The biggest issues I foresee with this are:

  • There is no progress information. This could be an issue for large files (you mention multiple gigabytes) when the extraction might take a while.

  • If you feel you need to terminate the process because it is taking too long, the component won’t always react to a reset/cancel. In this case, you may need to bring up task manager, locate the 7zip process and manually kill it.

You’d wire it up something like shown here, and you have to convert Path variables to String because components are (still!) lacking a configuration mechanism for choosing files using Path variables…

3 Likes

I haven’t tried it, but the External Tool node might be a possibility.

1 Like