TGViewer
Big Data Science [RU] Big Data Science [RU] @bdscience_ru · 1.62K subscribers
Post #168 438
💥Комбо Python и SQL в FugueSQL: единый SQL-интерфейс для датафреймов Pandas, Spark и Dask
FugueSQL
- это открытая Python-библиотека, которая позволяет комбинировать Python-код с SQL-командами, переключаясь между ними в Jupyter Notebook или Python-скрипте. FugueSQL поддерживает распределенные вычисления и предоставляет унифицированный API для запуска одного и того же кода SQL в Pandas, Dask и Apache Spark.
В отличие от PandaSQL, который имеет единственный сервер SQLite, что приводит к большим накладным расходам при передаче данных между Pandas и базой данных, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite.
При использовании pandas-бэкэнда Fugue напрямую переводит SQL в операции pandas, исключая передачу данных. DuckDB имеет превосходную поддержку pandas, поэтому накладные расходы на передачу данных незначительны. И Pandas, и DuckDB являются предпочтительными серверными модулями FugueSQL для локальной обработки данных. Fugue также поддерживает Spark, Dask и cuDF (через blazingSQL) в качестве бэкэндов.
В Fugue код SQL анализируется с помощью ANTLR и сопоставляется с эквивалентными функциями в API Fugue. FugueSQL имеет множество встроенных возможностей и расширяется с помощью Python-кода. По умолчанию он поддерживает наиболее распространенные на практике функции: заполнение значений NULL, удаление значений NULL, переименование столбцов, изменение схемы и пр. Fugue также добавляет некоторые улучшения в стандартный SQL, чтобы изящно обрабатывать сквозные рабочие процессы данных. Например, создание промежуточных таблиц через присвоение переменных.
В Pandas %% fsql принимает NativeExecutionEngine в качестве параметра по умолчанию. В Dask работа FugueSQL чуть медленнее нативного движка, но более полна с точки зрения реализованных ключевых слов SQL. FugueSQL также работает на Spark, сопоставляя операции %%fsql с операциями Spark и Spark SQL. Это позволяет быстро разрабатывать распределенные приложения. Достаточно создать локальный прототип с помощью NativeExecutionEngine, протестировать его и развернуть в кластере Spark, просто изменив механизм выполнения.
https://towardsdatascience.com/introducing-fuguesql-sql-for-pandas-spark-and-dask-dataframes-63d461a16b27
https://fugue-tutorials.readthedocs.io/tutorials/fugue_sql/index.html
Medium Introducing FugueSQL — SQL for Pandas, Spark, and Dask DataFrames An End-To-End SQL Interface for Data Science and Analytics
More from @bdscience_ru
  1. Sep 25, 2026Распознавание экрана (Onscreen Awareness) Siri научилась понимать, что происходит у вас на…
  2. Sep 15, 2026Reuters раскрыло инцидент со скоординированными действиями ИИ-агентов OpenAI: Расследовани…
  3. Aug 31, 2026Самая ужасная гавайская рубашка Немецкий дизайнер Симон Веккерт разработал гавайскую рубаш…
  4. Aug 25, 2026WeatherNext от Google DeepMind совершил прорыв в метеорологии! Новый ИИ прогнозирует тропи…
  5. Aug 15, 2026🧠 Enterprise AI наконец-то перестал быть «чатиком сбоку» OpenAI опубликовали два исследов…
  6. Aug 4, 2026Google двигает Gemini вниз по стеку - дешевле, быстрее, уже ближе к enterprise Google выпу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →