标签: bzip2

什么是最快的bzip2解压缩器?

哪个bzip2实现具有最大的解压缩速度?

有一个http://bitbucket.org/james_taylor/seek-bzip2/src/tip/micro-bunzip.c声称

Manuel Novoa III(mjn3@codepoet.org)进行了大小和速度优化。更有效地读取霍夫曼代码,简化的read_bunzip()函数以及其他各种调整。在(有限的)测试中,在x86上比bzcat快20%,在arm上快10%。请注意,在read_unzip()中花费大约2/3的时间来逆转Burrows-Wheeler转换。大部分时间是由于缓存未命中导致的延迟。

许多缓存未命中有机会通过某些技术进行优化,因此甚至可以实现更快的实现。

这个(seek-bzip2)还有一个有趣的功能,可以在输入文件中轻松查找。

我的程序将使用bzip2的输出,并且(理论上)可以在文件的不同部分上并行执行此操作。因此,也考虑了并行bzip2实现。

谢谢。

compression performance bzip2

6
推荐指数
1
解决办法
3492
查看次数

python3中没有名为“ _bz2”的模块

尝试执行以下命令时:

导入matplotlib.pyplot作为plt

发生以下错误:

从_bz2导入BZ2Compressor,BZ2Decompressor ImportError:没有名为“ _bz2”的模块

所以,我试图使用在Ubuntu中安装bzip2模块:

sudo pip3安装bzip2

但是,以下语句在终端中弹出:

找不到满足bzip2要求的版本(来自版本:)找不到与bzip2匹配的发行版

我该怎么办才能解决问题?

python matplotlib importerror bzip2 python-3.x

6
推荐指数
3
解决办法
2634
查看次数

使用 bzlib.h 在 C++ 中压缩 BZ2

我目前需要一些帮助来学习如何使用 bzlib.h 头文件。我想知道是否有人会这么好心帮助我在 C++ 中找出 compressToBZ2() 函数而不使用任何 Boost 库?

void compressBZ2(std::string file)
{
std::ifstream infile;
int fileDestination = infile.open(file.c_str());

char bz2Filename[] = "file.bz2";
FILE *bz2File = fopen(bz2Filename, "wb");
int bzError;
const int BLOCK_MULTIPLIER = 7;
BZFILE *myBZ = BZ2_bzWriteOpen(&bzError, bz2File, BLOCK_MULTIPLIER, 0, 0);

const int BUF_SIZE = 10000;
char* buf = new char[BUF_SIZE];
ssize_t bytesRead;

while ((bytesRead = read(fileDestination, buf, BUF_SIZE)) > 0)
{
    BZ2_bzWrite(&bzError, myBZ, buf, bytesRead);
}

BZ2_bzWriteClose(&bzError, myBZ, 0, NULL, NULL);

delete[] buf;
}
Run Code Online (Sandbox Code Playgroud)

我一直试图做的是使用这样的东西,但我没有运气。我正在尝试获取 …

c++ bzip2

5
推荐指数
1
解决办法
1万
查看次数

如何手动传递用于 Python 安装的 bzip2 安装源?

我已经解决了几个关于 Python 和 bzip2 的 StackOverflow 问题。这些对于让我进入我现在的状态非常有帮助。这是我到目前为止所做的以及我遇到的问题:

  • 没有root 访问权限,无法安装 libbz2-dev(el)
  • /usr/bin/bzip2 是 1.0.3 版
  • /usr/bin/python 是 2.4.3 版
  • GNU Stow被用来管理类似于 homebrew 工作方式的库

我需要 Python 2.7.3 与 bzip2 模块一起安装,以便从源代码正确编译 node.js。是的,我很抱歉,但我确实必须作为一个来自源头的普通用户来做这一切。

我已经从源代码安装了 bzip2,如下所示:

$ make -f Makefile-libbz2_so
$ make
$ make install PREFIX=${STOW}/bzip2-1.0.6
$ cp libbz2.so.1.0.6 ${STOW}/bzip2-1.0.6/lib/
$ cd ${STOW}/bzip2-1.0.6/lib
$ ln -s libbz2.so.1.0.6 libbz2.so.1.0
$ cd ${STOW}
$ stow bzip2-1.0.6
Run Code Online (Sandbox Code Playgroud)

在其他任何事情之前,我的 PATH 中都有 stow 的根目录,所以这导致:

$ bzip2 -V
# [...] Version 1.0.6
Run Code Online (Sandbox Code Playgroud)

这表明在我的 PATH 中使用了正确的 bzip2。

接下来,我继续从源代码编译 Python …

python node.js bzip2 python-2.7

5
推荐指数
1
解决办法
2941
查看次数

Bzip2 区块头:1AY&SY

这是关于 bzip2存档格式的问题。任何 Bzip2 存档都由文件头、一个或多个块和尾结构组成。所有块都应以“1AY&SY”开头,Pi 编号的 6 字节 BCD 编码数字,0x314159265359。根据bzip2 的来源

/*--
  A 6-byte block header, the value chosen arbitrarily
  as 0x314159265359 :-).  A 32 bit value does not really
  give a strong enough guarantee that the value will not
  appear by chance in the compressed datastream.  Worst-case
  probability of this event, for a 900k block, is about
  2.0e-3 for 32 bits, 1.0e-5 for 40 bits and 4.0e-8 for 48 bits.
  For a compressed file of size …
Run Code Online (Sandbox Code Playgroud)

block archive bzip2

5
推荐指数
1
解决办法
2274
查看次数

无法在Hadoop的本机库中加载bzip2

我的环境是CentOS 7; Spark 1.6.1; Hadoop 2.6.4; 我在集群模式下有两个从节点.

当我尝试hadoop命令时,我得到了 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

我检查hadoop checknative -a,我得到了所有错误的回应.当我添加时,部分问题得以解决

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"
Run Code Online (Sandbox Code Playgroud)

hadoop-env.sh并重新安装OpenSSL的-devel的.但是,当我输入时,我仍然收到警告hadoop checknative -a:

[hadoop@host-10-174-101-17 ~]$ hadoop checknative -a
16/07/13 14:36:24 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
16/07/13 14:36:24 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /usr/local/hadoop/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /lib64/libsnappy.so.1 …
Run Code Online (Sandbox Code Playgroud)

java hadoop bzip2

5
推荐指数
0
解决办法
1361
查看次数

无法为 bz 提取 shape_predictor_68_face_landmarks.dat

我正在尝试运行一些面部正面化代码(在 Windows10 上使用 Python3),该代码使用 opencv 和 dlib,并且需要一个名为shape_predictor_68_face_landmarks.dat. 该代码尝试自动下载它然后解压缩它,但它无法解压缩并出现unexpected end of archive错误。我尝试使用 WinRaR 修复文件(我也尝试从http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2手动下载)但它说它只能修复.zip 和 .rar 文件。

有谁知道我可以从哪里下载未压缩的 .dat 文件?或者我如何在 Windows 中修复损坏的 .bz 文件?

opencv archive bzip2 python-3.x dlib

5
推荐指数
1
解决办法
7824
查看次数

tar:打开存档时出错:无法初始化过滤器;无法运行程序“bzip2 -d”

我正在尝试从https://github.com/pnnl/safekit运行此代码,在 Windows 10 上使用 cmd,我已经安装了 python。当我输入命令时:

tar -xjvf data_examples.tar.bz2
Run Code Online (Sandbox Code Playgroud)

我不断收到错误:

tar:打开存档时出错:无法初始化过滤器;无法运行程序“bzip2 -d”

我尝试通过 easy-7 zip 和 GnuWin32 下载 bzip2 ,但没有成功。谁能帮我?

PS:我在发布之前确实搜索过同样的问题。

bzip2

5
推荐指数
1
解决办法
9449
查看次数

bzip2 是否允许在块或流级别进行随机访问解压缩?

这里的其他一些问题是关于能够仅压缩大压缩数据文件的一部分/块的问题。允许某种“随机访问解压缩”。Bzip2 一直是此类功能的推荐之一。

\n\n

在Wikipedia和一些称为非正式规范的文档上阅读有关 bzip 的信息后,尚不完全清楚此功能在什么级别上单独解压缩 bzip2 文件的一部分。似乎有两种选择,a)它在 s 的级别上BzipStream,b)它甚至在 s 的级别上StreamBlock(据我所知, a 内部可以有一个或多个BzipStream)。

\n\n
\n
BZipFile:=BZipStream+\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80BZipStream:=StreamHeader StreamBlock* StreamFooter\n   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80StreamHeader:=HeaderMagic Version Level\n   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80StreamBlock:=BlockHeader BlockTrees BlockData\n   \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80BlockHeader:=BlockMagicBlockCRC Randomized OrigPtr \n   \xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80BlockTrees:=SymMapNumTrees NumSels Selectors Trees\n   \xe2\x94\x82     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80SymMap:=MapL1 MapL2{1,16}\n   \xe2\x94\x82     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80Selectors:=Selector{NumSels}\n   \xe2\x94\x82     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80Trees:=(BitLen Delta{NumSyms}{NumTrees}\n   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80StreamFooter:=FooterMagic StreamCRCPadding\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

尽管bzip2经常受到赞扬,但在我看来,每个 BzipStream 中的存档数据不是字节对齐的,而是位对齐的,这表明单个块的单独解压并不是应该发生的事情,虽然我不能确定,因此这个问题:)

\n\n

更新

\n\n

看看man bzip2recover手册页就知道了

\n\n
\n

bzip2 以块的形式压缩文件,通常为 900kbytes 长。每个块都是独立处理的。如果介质或传输错误导致多块 .bz2 文件损坏,则可以从文件中未损坏的块中恢复数据。

\n\n

每个块的压缩表示由 48 位模式定界,这使得能够以合理的确定性找到块边界。每个块还携带自己的 …

random-access bzip2

5
推荐指数
0
解决办法
576
查看次数

Pyenv 的 python 缺少 bzip2 模块

我使用 pyenv 来安装 python 3.8.2 并创建一个 virtualenv。在 virtualenv 中,我使用 pipenv 来安装pandas.

但是,在导入熊猫时,我得到以下信息:

  [...]
  File "/home/luislhl/.pyenv/versions/poc-prefect/lib/python3.8/site-packages/pandas/io/common.py", line 3, in <module>
    import bz2
  File "/home/luislhl/.pyenv/versions/3.8.2/lib/python3.8/bz2.py", line 19, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'
Run Code Online (Sandbox Code Playgroud)

经过一番谷歌搜索,我发现有些人建议我在系统中安装 bzip2 库后从源代码重建 Python。

但是,在尝试安装它后,sudo dnf install bzip2-devel我发现我已经安装了它。

据我所知,pyenv 在安装某个版本时从源代码构建 python。那么,为什么它不能在构建时包含 bzip2 模块呢?

如何使用 pyenv 重建 Python 以使 bzip2 可用?我在 Fedora 30

提前致谢

更新 我尝试在详细模式下使用 pyenv 安装另一个版本的 python,以查看编译输出。

编译的最后有这个信息:

WARNING: The Python bz2 extension was not compiled. Missing the …
Run Code Online (Sandbox Code Playgroud)

python bzip2 pyenv

5
推荐指数
2
解决办法
6175
查看次数