3

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

我有一些中型数据(10-50GB)保存为 Azure blob 存储中的 parquet 文件。

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

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

使用 dask 的(其中一个)好处是它可以在分区上运行,因此可以在大于 GPU 内存的数据集上运行,而 BlazingSQL 仅限于 GPU 上可以容纳的东西,这是否正确?

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

编辑:
文档谈论dask_cudf但实际的回购已存档,说现在支持 daskcudf本身。最好知道如何dask利用cudf

4

1 回答 1

5

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

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

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

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

于 2020-01-18T04:54:47.950 回答