⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Spark API

DuckDB Spark API 实现了 PySpark API,允许您使用熟悉的 Spark API 与 DuckDB 进行交互。 所有语句都使用我们的 relational API 转换为 DuckDB 的内部计划,并使用 DuckDB 的查询引擎执行。

警告 DuckDB Spark API 目前处于实验阶段,功能尚不完善。我们非常欢迎您的反馈。如果您发现任何缺失的功能,请通过 DiscordGitHub 报告。

Example

from duckdb.experimental.spark.sql import SparkSession as session
from duckdb.experimental.spark.sql.functions import lit, col
import pandas as pd

spark = session.builder.getOrCreate()

pandas_df = pd.DataFrame({
    'age': [34, 45, 23, 56],
    'name': ['Joan', 'Peter', 'John', 'Bob']
})

df = spark.createDataFrame(pandas_df)
df = df.withColumn(
    'location', lit('Seattle')
)
res = df.select(
    col('age'),
    col('location')
).collect()

print(res)
[
    Row(age=34, location='Seattle'),
    Row(age=45, location='Seattle'),
    Row(age=23, location='Seattle'),
    Row(age=56, location='Seattle')
]

贡献指南

欢迎对实验性Spark API做出贡献。 在做出贡献时,请遵循以下指南:

  • 不要使用临时文件,而是使用我们的pytest测试框架。
  • 在添加新函数时,确保方法签名符合PySpark API中的签名。