Spark-API
Die DuckDB-Spark-API implementiert die PySpark-API und ermöglicht es, die vertraute Spark-API für die Interaktion mit DuckDB zu verwenden. Alle Anweisungen werden mithilfe unserer relationalen API in interne Pläne von DuckDB übersetzt und mit der Abfrage-Engine von DuckDB ausgeführt.
Warning Die DuckDB-Spark-API ist derzeit experimentell, und es fehlen noch Funktionen. Wir sind sehr an Feedback interessiert. Bitte melden Sie fehlende Funktionalität entweder über Discord oder auf GitHub.
Beispiel
from duckdb.experimental.spark.sql import SparkSession as sessionfrom duckdb.experimental.spark.sql.functions import lit, colimport 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')]Beitragsrichtlinien
Beiträge zur experimentellen Spark-API sind willkommen. Bitte beachten Sie bei einem Beitrag die folgenden Richtlinien:
- Verwenden Sie statt temporärer Dateien unser Test-Framework
pytest. - Stellen Sie beim Hinzufügen neuer Funktionen sicher, dass die Methodensignaturen denen der PySpark-API entsprechen.