qiime tools export -- The extraction result is incomplete

The extraction process was incomplete, leading to the following error:
Traceback (most recent call last):
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/q2cli/commands.py", line 329, in call
results = action(**arguments)
File "", line 2, in classify_sklearn
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 234, in bound_callable
spec.view_type, recorder)
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/qiime2/sdk/result.py", line 290, in _view
result = transformation(self._archiver.data_dir)
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/qiime2/core/transform.py", line 70, in transformation
new_view = transformer(view)
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_taxonomic_classifier.py", line 72, in _1
pipeline = joblib.load(os.path.join(dirname, 'sklearn_pipeline.pkl'))
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/joblib/numpy_pickle.py", line 585, in load
obj = _unpickle(fobj, filename, mmap_mode)
File "/root/miniconda3/envs/qiime2/lib/python3.6/site-packages/joblib/numpy_pickle.py", line 504, in _unpickle
obj = unpickler.load()
File "/root/miniconda3/envs/qiime2/lib/python3.6/pickle.py", line 1050, in load
dispatchkey[0]
KeyError: 0

I want to understand how classify.qza is extracted into sklearn_pipeline.pkl. The .qza file is only 500MB, but sklearn_pipeline.pkl is 9GB. The compression efficiency is surprising. Also, I want to understand whether the extracted sklearn_pipeline.tar has undergone an MD5 check, because sklearn_pipeline.tar occasionally appears to be incomplete.

Hello @pangtouyu,

Welcome to the forums! :qiime2:

Qiime2 files like .qza and .qzv are just Zip files.

zip -T classify.qza  # -T for test
zip -Tv classify.qza # Test with Verbose output

You can open them with any program that can open zip file, because they ARE zip files.

20x compression or 5% is pretty high! I guess whatever data is inside the pickle file (.pkl) is easily compressable.

I think zip files use CRC, but I'm not really sure how this works.