BlazingSQL 和 dask 是什么关系?

Dav*_*eld 3 gpu parquet dask cudf

我试图了解 BlazingSQL 是 dask 的竞争对手还是补充。

我有一些中等大小的数据 (10-50GB) 作为镶木地板文件保存在 Azure blob 存储中。

IIUC 我可以使用 SQL 语法使用 BlazingSQL 查询、加入、聚合、分组,但我也可以dask_cudf使用 python/ dataframe 语法将数据读入 CuDF并执行所有相同的操作。

所以,在我看来他们是直接的竞争对手?

使用 dask 的(其中一个)好处是它可以对分区进行操作,因此可以对大于 GPU 内存的数据集进行操作,而 BlazingSQL 仅限于适合 GPU 的内容,这是否正确?

为什么会选择使用 BlazingSQL 而不是 dask?

编辑:
文档讨论dask_cudf但实际存储已存档,说 dask 支持现在cudf本身。最好知道如何利用dask比 gpu 内存更大的数据集进行操作cudf

小智 5

完全披露我是 BlazingSQL 的联合创始人。

BlazingSQL 和 Dask 没有竞争力,实际上你需要 Dask 在分布式上下文中使用 BlazingSQL。所有分发的 BlazingSQL 结果都返回 dask_cudf 结果集,因此您可以在 python/dataframe 语法中继续对所述结果进行操作。就您而言,您在两个方面是正确的:

  1. BlazingSQL 目前仅限于 GPU 内存,实际上是利用CUDA 的统一虚拟内存的一些系统内存。这很快就会改变,我们估计大约会在 3 月初发布的 v0.13 左右。在该版本发布后,内存将溢出并缓存到系统内存、本地驱动器,甚至是我们支持的存储插件,例如 AWS S3、Google Cloud Storage 和 HDFS。
  2. 您完全可以将 SQL 操作编写为 dask_cudf 函数,但用户有责任了解所有这些函数,并优化它们的使用。SQL 有很多好处,因为它更易于访问(更多人知道它,而且很容易学习),并且有大量关于优化 SQL(例如基于成本的优化器)以运行大规模查询的研究.

如果您希望让更多用户可以访问 RAPIDS,SQL 是一个非常简单的入门过程,并且它很容易优化,因为在 Dask 上优化 SQL 操作所需的范围缩小了,这有许多其他考虑因素。