当前位置: 首页 > 知识库问答 >
问题:

Google dataflow仅部分解压缩用pbzip2压缩的文件

昝唯
2023-03-14
seq 1 1000000 > testfile

bzip2 -kz9 testfile
mv testfile.bz2 testfile-bzip2.bz2

pbzip2 -kzb9 testfile
mv testfile.bz2 testfile-pbzip2.bz2

gsutil cp testfile gs://[bucket]
gsutil cp testfile-bzip2.bz2 gs://[bucket]
gsutil cp testfile-pbzip2.bz2 gs://[bucket]

然后我在两个压缩文件上运行以下管道。

        p.apply(TextIO.read().from(filePath).withCompressionType(TextIO.CompressionType.BZIP2))
         .apply(TextIO.
                write().
                to(filePath.substring(0, filePath.length() - 4)).
                withoutSharding());

这将导致我的bucket的以下状态:

如您所见,由pbzip2压缩的未压缩文件太小,无法正确解压缩。似乎只有第一个块被解压缩,其余的都被丢弃了。

我用pbzip2压缩了很多文件,我希望不改变它们的压缩方式。

对如何解决这个问题有什么建议吗?这甚至可以用于使用pbzip2压缩的文件吗?

共有1个答案

司马洲
2023-03-14

这是调用BZIP2库读取pbzip2生成的文件的方式中的一个bug。当我键入此内容时,修复程序正在审查中。参见BEAM-2708。

 类似资料:
  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 常用压缩包—解压—令整理 Linux 后缀为 .war 格式的文件(一般用在部署 Tomcat 项目的时候) 命令:unzip -oq XXXXXX.war -d ROOT 如果没有 ROOT 目录会自动创建 ROOT 目录。 Linux 后缀为 .tar.gz 格式的文件-解压 命令:tar zxvf XXXXXX.tar.gz Linux 后缀为 .bz2 格式的文件-解压 命令:bzip2

  • 问题内容: 我想使用Java代码将文件压缩为zip,rar和7z格式。我也想在指定位置解压缩这些文件。谁能告诉我如何在Java中使用7-zip压缩和解压缩文件? 问题答案: 我用过:sevenzipjbinding.jar sevenzipjbinding-Allplatforms.jar 我现在可以使用这些jar解压缩文件。 尝试使用此链接进行解压缩:http : //sourceforge.n

  • 问题内容: 我知道这是一项容易的任务,但是更改代码后它停止工作,并且无法恢复!我实际上使用了两个函数来进行压缩和解压缩,尽管实际上它是“ jar”和“ unjar”,但这并没有太大的区别 任何帮助/建议吗? 创建JarFile时发生错误: 问题答案: 我不知道这是否是您的问题,但是通常最好在完成写入后关闭每个zip条目。 请参阅。 在显示的代码中,不会关闭邮政编码中的最后一个条目。您也不会显示关闭

  • tar [-]c|x|u|r|t[z|j][v] -f 归档文件 [待打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为 tar(归档)、gz(压缩)、bz2(压缩率更高,比较耗时) 操作选项 -c 创建 -x 解包 -u 更新 -r 添加 -t 查看 -d 比较压缩包内文件和文件 -A 将 tar 文件添加到归档文件中 格式选项 -z 使用 gz 压缩格式 -j 使

  • 问题内容: 我想使用Web浏览器在客户端显示OpenOffice文件,.odt和.odp。 这些文件是压缩文件。使用Ajax,我可以从服务器获取这些文件,但是它们是压缩文件。我必须使用JavaScript解压缩它们,我尝试使用inflate.js,http: //www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt ,但没有成功。