Какая связь между BlazingSQL и dask?

Я пытаюсь понять, является ли BlazingSQL конкурентом или дополнением к dask.

У меня есть данные среднего размера (10-50 ГБ), сохраненные в виде паркетных файлов в хранилище BLOB-объектов Azure.

IIUC Я могу запрашивать, объединять, агрегировать, группировать с помощью BlazingSQL с использованием синтаксиса SQL, но я также могу читать данные в CuDF с помощью dask_cudf и выполнять все те же операции с использованием синтаксиса python / dataframe.

Так мне кажется, что они прямые конкуренты?

Правильно ли, что (одно из) преимуществ использования dask заключается в том, что он может работать с разделами, поэтому может работать с наборами данных, превышающими объем памяти графического процессора, тогда как BlazingSQL ограничен тем, что может поместиться на графическом процессоре?

Почему лучше использовать BlazingSQL, а не dask?

Изменить:
Документы говорят о dask_cudf, но о самом репо заархивировано, говоря, что поддержка dask теперь есть в самом cudf. Было бы неплохо узнать, как использовать dask для работы с наборами данных размером больше, чем память графического процессора, с cudf


person Dave Hirschfeld    schedule 18.01.2020    source источник


Ответы (1)


Полное раскрытие информации. Я соучредитель BlazingSQL.

BlazingSQL и Dask неконкурентоспособны, на самом деле вам нужен Dask для использования BlazingSQL в распределенном контексте. Все удаленные результаты BlazingSQL возвращают наборы результатов dask_cudf, поэтому вы можете продолжить операции с указанными результатами в синтаксисе python / dataframe. По вашему мнению, вы правы в двух пунктах:

  1. BlazingSQL в настоящее время ограничен памятью графического процессора и фактически некоторой системной памятью за счет использования унифицированной виртуальной памяти CUDA < / а>. Это скоро изменится, по нашим оценкам, около версии 0.13, релиз которой запланирован на начало марта. После этого выпуска память будет распределяться и кэшироваться в системную память, локальные диски или даже в наши поддерживаемые плагины хранения, такие как AWS S3, Google Cloud Storage и HDFS.
  2. Вы можете полностью писать операции SQL как функции dask_cudf, но пользователь должен знать все эти функции и оптимизировать их использование. SQL имеет множество преимуществ, так как он более доступен (его знают больше людей, и его очень легко изучить), и существует большое количество исследований по оптимизации SQL (например, оптимизаторы на основе затрат) для выполнения запросов в большом масштабе. .

Если вы хотите сделать RAPIDS доступными для большего числа пользователей, SQL - это довольно простой процесс адаптации, и его очень легко оптимизировать из-за ограниченного объема, необходимого для оптимизации операций SQL над Dask, который имеет много других соображений.

person Rodrigo Aramburu    schedule 18.01.2020
comment
Плюс мы ЛЮБИМ Мэтта Роклина - person flips; 18.01.2020