Blackhole简介和基本用法
简介
Blackhole是百度自研的高性能数据科学引擎,CodeLab中内嵌了该引擎。通过异构加速计算、超大数据处理、高效数据存储等技术,单机Blackhole在数据分析和机器学习等场景相比开源Pandas/Sklearn性能可提升6倍以上、拥有10TB的单机超大数据处理能力,同时提供和Pandas、Sklearn基本一致的易用接口。
Blackhole常用API接口:
机器学习:https://ai.baidu.com/ai-doc/BML/Dkhemrlzr
数据分析:https://ai.baidu.com/ai-doc/BML/qkhemrm8o
Blackhole与Pandas+SKlearn性能对比
Blackhole在机器学习、数据分析场景下,对比Pandas+SKlearn,加速平均超过6.3倍。如下图所示:
特性
1. 易用的API接口:
Blackhole提供了非常类似Pandas和SKlearn的API,让用户没有学习成本。
2. 高性能数据分析:
Blackhole利用单机CPU和GPU进行并行及混合计算,享有单机使用的便利性和媲美分布式计算的性能。
3. 超大数据分析:
Blackhole利用Out-of-core技术(mmap磁盘映射内存、按需加载、多级存储换入换出等),超越内存数倍的大数据处理。
4. 高效数据存储
Blackhole利用Apache Parquet和Apache Arrow的高效磁盘和内存存储,做到数据零拷贝,提升存储、分析效率。
5. 多场景支持
Blackhole支持Dataframe数据分析、SQL数据分析、机器学习、数据可视化等场景的加速。
Blackhole与Pandas+SKlearn使用方式对比
Blackhole使用方法和Pandas+Sklearn几乎一致,仅需修改包名,即可达到6倍多的加速效果。
使用示例
Blackhole安装:
- Window客户端(内置Linudx子系统,WSL2)、Mac客户端、Docker镜像, 通过codelab安装命令: codelab install blackhole
- Windows客户端(Windows开发环境),通过pip直接安装:
pip install https://blackhole.cdn.bcebos.com/wheel/0.3.2/win-64/blackhole-0.3.1+5.g4015d80.dirty-py3-none-any.whl -i https://mirrors.aliyun.com/pypi/simple/
Blackhole基本用法:
下载以下场景的Notebook文件,上传到CodaLab中即可运行。Notebook文件中包含了数据集的详细说明和代码注释。