
apache/datafusion-python
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
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
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add apache/datafusion-python