AD

apache/datafusion-python

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

610 stars Качество 73 Тренд 41Apache-2.0

apache/datafusion-python — это кандидат на навык агента, импортированный из https://github.com/apache/datafusion-python.

Обзор

apache/datafusion-python — это кандидат на навык агента, импортированный из https://github.com/apache/datafusion-python.

Обзор (машинный перевод)

Это библиотека на Python, которая связывается с движком запросов в памяти Apache Arrow — DataFusion.

Bindings DataFusion на Python может служить основой для создания новых систем данных на Python. Вот несколько примеров:

  • Dask SQL использует bindings DataFusion на Python для разбора SQL, запросов планирование и логические оптимизации плана, а затем переводит логический план в операции Dask для выполнения.
  • DataFusion Ballista — распределённый движок SQL-запросов, расширяющий Python-привязки DataFusion для распределённых сценариев использования.
  • DataFusion Ray — ещё один распределённый движок запросов, использующий Python-привязки DataFusion.

Особенности

  • Выполнять запросы с использованием SQL или DataFrames к источникам данных CSV, Parquet и JSON.
  • Запросы оптимизируются с помощью оптимизатора запросов DataFusion.
  • Выполнять пользовательский код на Python из SQL.
  • Обмен данными с Pandas и другими библиотеками DataFrame, поддерживающими PyArrow.
  • Сериализация и десериализация планов запросов в формате Substrait.
  • Экспериментальная поддержка транспилирования SQL-запросов в вызовы DataFrame с помощью Polars, Panda и cuDF.

Советы по настройке параллелизма см. Максимизация использования процессора в руководстве по конфигурации.

Пример использования

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

DataFusion in Python

This is a Python library that binds to Apache Arrow in-memory query engine DataFusion.

DataFusion’s Python bindings can be used as a foundation for building new data systems in Python. Here are some examples:

  • Dask SQL uses DataFusion’s Python bindings for SQL parsing, query planning, and logical plan optimizations, and then transpiles the logical plan to Dask operations for execution.
  • DataFusion Ballista is a distributed SQL query engine that extends DataFusion’s Python bindings for distributed use cases.
  • DataFusion Ray is another distributed query engine that uses DataFusion’s Python bindings.

Features

  • Execute queries using SQL or DataFrames against CSV, Parquet, and JSON data sources.
  • Queries are optimized using DataFusion’s query optimizer.
  • Execute user-defined Python code from SQL.
  • Exchange data with Pandas and other DataFrame libraries that support PyArrow.
  • Serialize and deserialize query plans in Substrait format.
  • Experimental support for transpiling SQL queries to DataFrame calls with Polars, Pandas, and cuDF.

For tips on tuning parallelism, see Maximizing CPU Usage in the configuration guide.

Example Usage

The following example demonstrates running a SQL query against a Parquet file using DataFusion, storing the results in a Pandas DataFrame, and then plotting a chart.

The Parquet file used in this example can be downloaded from the following page:

from datafusion import SessionContext
Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add apache/datafusion-python
Новичок в MCP? Начните с руководства на mcpskill.org →