问题标签 [bzip2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4251 浏览

xml - 如何读取压缩的 bz2 (bzip2) Wikipedia 转储到流 xml 记录阅读器中以用于 hadoop map reduce

我正在使用 Hadoop Map Reduce 对维基百科数据转储(以 bz2 格式压缩)进行研究。由于这些转储太大(5 T),我无法将 xml 数据解压缩到 HDFS 中,而只能使用 hadoop 提供的 StreamXmlRecordReader。Hadoop 确实支持解压缩 bz2 文件,但它会任意拆分页面并将其发送到映射器。因为这是 xml,所以我们需要将拆分作为标签。有没有一起使用hadoop提供的内置bz2解压和流xml记录阅读器?

0 投票
5 回答
19172 浏览

linux - Bz2 目录中的每个文件

我正在运行 centos,我在一个文件夹中有大约 1,300 个文件,每个文件都需要单独进行 bzip 压缩。处理这个最简单的方法是什么?

0 投票
2 回答
1327 浏览

ruby - 红宝石 - bzip 文件

我想用 ruby​​ 压缩文件。例如我有文件:

我希望这些文件压缩到base.bz

我怎样才能在红宝石中做到这一点?

0 投票
4 回答
9771 浏览

unix - 可以将多个 bz2 档案合并为一个吗?

我有几个 (27) 个巨大的(每个几个 GB)bz2 存档文件,我需要将它们合并到一个 bz2 存档中。解压它们然后从刚刚解压的文件中创建一个新的存档对我来说不是一个选择,因为压缩后,所有 27 个文件加起来大约 100GB,解压后大约为 5-6TB(是的,那是 TERAbytes,哈哈)。

这可以用某种脚本来完成,还是有另一种压缩格式允许这样做(更容易)?

0 投票
1 回答
2551 浏览

c++ - 解压bzip2字节数组

如何使用 boost 解压缩 bzip2 压缩的字节数组?我在这里找到了一个示例,但输入是一个文件,因此使用ifstream. 文档对我来说不是很清楚:(。

编辑:我会接受提升的替代方案。

0 投票
6 回答
996 浏览

linux - 高效传输控制台数据、tar 和 gzip/bzip2,无需创建中间文件

Linux 环境。所以,我们有这个程序 't_show',当使用 ID 执行时,会在控制台上写入该 ID 的价格数据。没有其他方法可以获取此数据。

我需要使用最小带宽、最小连接数在两台服务器之间复制 ID 1-10,000 的价格数据。在目标服务器上,数据将是每个 id 的单独文件,格式为:

这样的事情将是冗长的解决方案:

目的地:

来源:

也就是说,将每个输出写入自己的文件,压缩和 tar,通过网络发送,提取。

它的问题是我需要为每个 id 创建一个新文件。这占用了大量的空间并且不能很好地扩展。

是否可以将控制台输出直接写入(压缩)tar 存档而不创建中间文件?任何更好的想法(也许直接通过网络编写压缩数据,跳过 tar)?

正如我在目标服务器上所说的,tar 存档需要提取为每个 ID 的单独文件。

感谢任何花时间提供帮助的人。

0 投票
1 回答
2515 浏览

stream - 压缩流的能力如何影响压缩算法?

我最近备份了我即将到期的大学主目录,将其作为 tar 流发送并在我的一端压缩:ssh user@host "tar cf - my_dir/" | bzip2 > uni_backup.tar.bz2.

这让我开始思考:我只知道压缩如何工作的基础知识,但我想这种压缩数据流的能力会导致压缩效果更差,因为算法需要在某一时刻完成处理一个数据块,写这个到输出流并继续到下一个块。

是这样吗?还是这些程序只是简单地将大量数据读入内存,压缩它,写入它,然后再做一遍?还是在这些“流压缩器”中使用了任何巧妙的技巧?我看到bzip2xz的手册页都讨论了内存使用情况,并且man bzip2还暗示了将要压缩的数据切成块的损失很少:

较大的区块大小会导致边际收益迅速递减。大多数压缩来自前两三百 k 的块大小,在小型机器上使用 bzip2 时需要牢记这一点。同样重要的是要理解解压缩内存要求是通过选择块大小在压缩时设置的。

我仍然很想知道是否使用了其他技巧,或者我可以在哪里阅读更多关于此的信息。

0 投票
1 回答
15103 浏览

c++ - 如何在 Windows 上使用 gzip 和 bzip2 支持构建 boost iostreams

我如何建立和支持boostiostreams图书馆?gzipbzip2

0 投票
2 回答
1594 浏览

c++ - 如何将数据通过管道传输到 bzip2 并从 Linux 上的 C++ 标准输出中获取结果数据?

我正在考虑开始为 Linux 开发一个库,该库将为应用程序开发人员提供一个虚拟文件系统,其中文件将存储在存档中,并且存档中的每个文件都将单独压缩,因此检索单个文件非常简单对于开发人员、CPU 和硬盘驱动器而言,这是一项简单的任务。(无需复杂的 API,无需解压缩大量数据,只需解压缩相关数据,仅检索相关数据而非整个存档)

在 Linux 上使用 C++ 之前,我已经使用 popen 来检索命令的标准输出,但我不知道如何通过管道输入和获取数据,并且一些 bzip2 特定提示会很好。我在几年前写了一些类似的东西,但它包含一个作为 dll 的霍夫曼压缩库,而不是必须管道数据和使用标准工具。(那是在我的 Windows 时代。)

0 投票
1 回答
881 浏览

python - Python BZ2 Compressor - compress() 不返回任何内容

我正在尝试使用 pythons bz2compressor 类压缩数据流。

文档说bz2compressor.compress()应该“尽可能”返回压缩数据块,但我什么也没得到

flush()当我(我尝试过使用 2GB+ 的文件)仍然一无所获时,我得到了所有的压缩数据。

有没有办法可以将任何内部缓冲区限制设置为何时应该返回数据。

谢谢!