跳转到主要内容

帮助您保留以太坊数据集

项目描述

cryogen

帮助您保留以太坊数据集新鲜、快速且小巧

安装

pip install cryogen

功能

智能合并从cryo提取的数据集,将块的数量减少400-1000倍。

提供快速的现场转换,将磁盘占用减少2倍,并提高查询性能。

保持数据集新鲜,这样您总是可以回到最新的数据。

使用方法

cryogen collect <dataset>

收集或更新cryo数据集。

cryogen使用1000个区块批次,以zstd -3压缩。间隙会自动填充。数据集可以比头区块落后1000个区块,因为使用了align选项。

# you can also specify data_dir using CRYO_DATA_DIR env var
cryogen collect contracts --data-dir ~/cryo_data

# collect a block range, same format as cryo
cryogen collect traces --blocks 17000000:

cryogen consolidate <dataset>

原地合并数据集。

此命令将parquet合并成更大的文件,覆盖1e4、1e5、1e6个区块。在可以形成更大连续区块之前,不会修改较小的文件。此算法的最坏情况是17 + 9 + 9 + 9 = 44个文件在区块17,999,000。

从v0.2.0开始,cryogen还减少了行组的数量。当批次的未压缩大小达到32 mb时,它创建一个行组。此行组大小提供了最佳性能,而不强加可能导致大量交换的更高内存需求。

cryogen consolidate contracts

# test the feature without overwriting the dataset
cryogen consolidate contraces --no-inplace

注意,在cryogen合并后,您应使用cryogen更新数据集。cryo不会识别较大的块,并会尝试收集已合并和删除的较小块,导致数据集中出现重复数据。

cryogen watch <dataset>

结合collectconsolidate命令。

保持运行,它将定期更新数据集。

# refresh every 4 hours
cryogen watch contracts --interval 14400

冷冻信息 <数据集>

收集关于Parquet数据集的信息。

cryogen info contracts
# {'num_rows': 62466632, 'files': 38, 'row_groups': 17984, 'total_compressed_size': 7850356027, 'total_uncompressed_size': 29236070746, 'elapsed': 0.747}

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

cryogen-0.2.5.tar.gz (5.6 kB 查看哈希值)

上传

构建分布

cryogen-0.2.5-py3-none-any.whl (7.2 kB 查看哈希值)

上传 Python 3

支持者