Bcolz

支持数据压缩的列数存储软件
授权协议 GPL
开发语言 C/C++ Python
所属分类 应用工具、 压缩、解压缩
软件类型 开源软件
地区 不详
投 递 者 谯嘉木
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Bcolz 是一款支持数据压缩的,列数存储软件。提供可压缩内存和磁盘的柱状分块数据容器。列存储允许有效地查询表,以及列添加和删除。它基于 NumPy ,并将其用作标准数据容器与 Bcolz 对象进行通信。

默认情况下,Bcolz 对象被压缩,不仅可以减少内存/磁盘存储,还可以提高 I / O 速度。压缩过程由 Blosc 在内部执行,Blosc 是针对二进制数据进行优化的高性能多线程压缩器。

Bcolz 也可以在内部使用 numexpr(默认情况下,如果它检测到 numexpr 已安装)或 dask ,以加速许多向量和查询操作。 numexpr / dask 可以优化内存使用,并使用多线程进行计算。

要求

  • Python >= 2.6

  • NumPy >= 1.8

  • Cython >= 0.22 (仅用于编译 beast)

  • C-Blosc >= 1.8.0 (可选,默认情况下将使用内部 Blosc )

  • unittest2 (可选,只在运行 Python 2.6 的情况下)

可选:

  • numexpr >= 2.5.2

  • dask >= 0.9.0

  • pandas

  • tables (pytables)

  • 原文:http://bcolz.blosc.org/en/latest/reference.html First level variables bcolz.__version__ ''' bcolz包的版本。 ''' bcolz.dask_here ''' 是否检测到dask的最低版本。 ''' bcolz.min_dask_version ''' 需要dask的最低版本(dask是可选的)。

  •   安装: ‎bcolz 依赖于 NumPy,也可以选择 Numexpr。此外,如果要从源安装,并且 C 编译器(Python 2 的 Clang、GCC 和 MSVC 2008 和 Python 3 的 MSVC 2010)。‎ 也就是先要安装numpy和Numexpr,再装这个大哥。 Do: $ easy_install -U bcolz or: $ pip install -U bcolz

  • 如何在一台没有安装Visual Studio IDE上的电脑上安装non pure-python 库方法比较多。此处拿bcolz安装作为例子。安装前提是你的Window电脑上安装了Python,建议使用python3.x。 简介: bcolz提供柱状数据容器,可以在内存和磁盘上进行压缩。列存储可以高效地查询表,以及廉价的列添加和删除。它基于NumPy,并将它作为标准的数据容器来与bcolz对象进行

  • 1. 读写 zip 相关模块安装可以参考 [Python] 读取 rar/zip 压缩文件 import zipfile def ls_zip(zip_file_path): '''获取zip压缩文件夹dir''' _zip = zipfile.ZipFile(zip_file_path) zip_dir = _zip.namelist() return zip

  • 1、读取 import bcolz import pandas as pd ct = bcolz.open(rootdir=path) ''' 打开一个基于磁盘的carray / ctable。 参数: rootdir:路径名(字符串) 承载carray / ctable对象的目录。 mode:打开模式(字符串) 指定打开对象的模式。支持的值是: 'r'为只读 'w'清空以前的基础数据

  • raise Exception("this is an ex") bcolz总结: 0.需要用bcolz的columns需要为ndarray的列,不能直接拿list去赋值,因为我发现它产生了大量的blp文件,而实际上正确的生成只会产生少量的. 1.先写成博客,最后在去发表.

  • Q: error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for bcolz A: export DISABLE_BCOLZ_AVX2=true

  • 1.直接修改 eg:把data.bcolz文件中A列为0的数据填充为1000. data = bcolz.open("data.bcolz", "a") #以"a"方式打开可以进行修改 col_A = data["A"] for i in range(col_A.shape[0]): if col_A[i] == 0: col_A[i] = 1000 data.f

 相关资料
  • 寻找Apache Commons Compress的替代压缩java库(https://Commons.Apache.org/proper/commons-compress/)。当试图读取使用“enhanced_deflated”(即deflate64)压缩的zip条目时,Commons Compress会引发错误。下面是抛出异常的示例摘录。 下面是堆栈跟踪的相关部分: unsupportedZi

  • 主要内容:对称矩阵,上(下)三角矩阵,稀疏矩阵,矩阵压缩存储的 3 种方式数据结构中,提供针对某些特殊矩阵的压缩存储结构。 这里所说的特殊矩阵,主要分为以下两类: 含有大量相同数据元素的矩阵,比如对称矩阵; 含有大量 0 元素的矩阵,比如稀疏矩阵、上(下)三角矩阵; 针对以上两类矩阵,数据结构的压缩存储思想是:矩阵中的相同数据元素(包括元素 0)只存储一个。 对称矩阵 图 1 对称矩阵示意图 图 1 的矩阵中,数据元素沿主对角线对应相等,这类矩阵称为 对称矩阵。 矩阵中

  • 主要内容:一、数据持久化,二、持久化的形式,三、源码分析,四、总结一、数据持久化 redis做为一种内存型数据库,做持久化,个人感觉略有鸡肋的意思。似乎有一种,别人有,自己不有也不行的感觉。以目前Redis主流的应用方式,如果仔细分析,基本上都是在内存中即可完成,对持久化没要求或者说不大。再举一个反例,如果内存中有几百G甚至更多的数据,真要是整体当机,恢复的时间基本就是灾难。 目前基本应用仍然是以关系型数据库或者其它数据库(如Hadoop,Mysql等)为持久化

  • 我正在尝试将位于azure datalake中的csv压缩为zip。该操作是使用datricks中的python代码完成的,我在其中创建了一个挂载点以将dbfs与datalake直接关联。 这是我的代码: 但是我收到了这个错误: 有什么办法吗? 提前感谢。

  • 目的 配置 NFS 共享为 OpenShift 节点提供存储,并且配置 OpenShift 持久卷以绑定至数据库 Pod。 环境 openshift v3.11.16/kubernetes v1.11.0 步骤 配置 NFS 共享持久卷1. 登录到 NFS 服务器 # ssh nfs.example.com2. 创建 config-nfs.sh 脚本,内容如下 #!/usr/bin/sh exp

  • 问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。

  • 现状 & 痛点 对于Seata而言,是通过记录DML操作的前后的数据进行用于后续可能的回滚操作的,并且把这些数据报错到数据库的一个blob的字段里面。对于批量插入,更新,删除等操作,其影响的行数可能会比较多,拼接成一个大的字段插入到数据库,可能会带来以下问题: 超出数据库单次操作的最大写入限制(比如MySQL的max_allowed_package参数); 较大的数据量带来的网络IO和数据库磁盘I

  • 问题内容: 我正在尝试在Google数据存储区中查询类似的内容(使用pm-> persistanceManager): 执行时-我回来了: App Engine数据存储区不支持运算符OR 。 人们对此类查询的最佳体验方法是什么? 任何帮助表示赞赏! 问题答案: 执行多个查询。与其他所有数据库一样,数据存储区也无法有效执行析取。与其他数据库不同,它向用户暴露了这一困难,以明确您的工作效率不高。您唯一