Turning PySpark Into a Universal DataFrame API
翻译准备中
开发工具Python · ShellGitHub @eakmanrq自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Install SQLFrame with DuckDB. You need Python 3.10 or later; no cloud account or Spark installation is required.
pip install "sqlframe[duckdb]"
from sqlframe.duckdb import DuckDBSession
session = DuckDBSession()
df = session.createDataFrame(
[("US", 120), ("UK", 80), ("US", 30)],
["country", "revenue"],
)
df.groupBy("country").sum("revenue").orderBy("country").show()
+---------+--------------+
| country | sum(revenue) |
+---------+--------------+
| UK | 80 |
| US | 150 |
+---------+--------------+
To inspect a transformation's SQL, call df.sql(optimize=True). Follow the quickstart for a complete walkthrough.
| Engine | Install |
|---|---|
| DuckDB | pip install "sqlframe[duckdb]" |
| BigQuery | pip install "sqlframe[bigquery]" |
| Snowflake | pip install "sqlframe[snowflake]" |
| Postgres | pip install "sqlframe[postgres]" |
| ClickHouse (preview) | pip install "sqlframe[clickhouse]" |
| Databricks | pip install "sqlframe[databricks]" |
| Spark | pip install "sqlframe[spark]" |
| Standalone | pip install sqlframe |
| Trino (preview) | pip install "sqlframe[trino]" |
Standalone sessions generate SQL without a database connection. For local Parquet support, install sqlframe[standalone].
ClickHouse and Trino are preview integrations; see their guides for supported workflows and limits.
Community integrations: GizmoSQL · Redshift (pip install "sqlframe[redshift]").
SQLFrame is also available on conda-forge: conda install -c conda-forge sqlframe.
Activate SQLFrame before importing PySpark to run supported transformations on another engine.
from sqlframe import activate
activate("duckdb")
from pyspark.sql import SparkSession
session = SparkSession.builder.getOrCreate()
You can also import SQLFrame directly, as shown in the quickstart. See the activation guide and your engine's API compatibility reference for details.
SQLFrame is open source under the MIT license.