AD

apache/datafusion-python

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

610 stars 质量 73 趋势 41Apache-2.0

apache/datafusion-python 是从 https://github.com/apache/datafusion-python. 导入的代理技能候选程序。

概览

apache/datafusion-python 是从 https://github.com/apache/datafusion-python. 导入的代理技能候选程序。

概述(AI 翻译)

这是一个 Python 库,可以绑定到 Apache Arrow 内存内查询引擎 DataFusion。

DataFusion的Python绑定可以作为构建Python新数据系统的基础。以下是一些示例:

  • Dask SQL 使用 DataFusion 的 Python 绑定进行 SQL 解析和查询 规划和逻辑计划优化,然后将逻辑计划转为Dask操作执行。
  • DataFusion Ballista 是一个分布式 SQL 查询引擎,可扩展 DataFusion 的 Python 绑定,适用于分布式用例。
  • DataFusion Ray 是另一种分布式查询引擎,使用 DataFusion的Python绑定。

特色

  • 使用 SQL 或 DataFrames 对 CSV、Parquet 和 JSON 数据源执行查询。
  • 查询通过 DataFusion 的查询优化器进行优化。
  • 从SQL中执行用户自定义的Python代码。
  • 与支持 PyArrow 的 Pandas 及其他 DataFrame 库交换数据。
  • 以Substrait格式序列化和反序列化查询计划。
  • 通过 Polars、Pandas 和 cuDF 将 SQL 查询转译为 DataFrame 调用的实验性支持。

关于调优并行性的技巧,请参见 最大化CPU使用率 在配置指南中。

示例用法

本页由 AI 翻译,技术细节请以原文为准。

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
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add apache/datafusion-python
新手?先看 mcpskill.org 教程 →