【发布时间】:2019-09-09 13:39:24
【问题描述】:
假设我创建了以下数据框:
dt = pd.DataFrame(np.array([[1,5],[2,12],[4,17]]),columns=['a','b'])
df = spark.createDataFrame(dt)
我想创建第三列 c,即这两列的总和。我有以下两种方法。
Spark 中的 withColumn() 方法:
df1 = df.withColumn('c', df.a + df.b)
或者使用sql:
df.createOrReplaceTempView('mydf')
df2 = spark.sql('select *, a + b as c from mydf')
虽然两者产生相同的结果,但哪种方法的计算速度更快?
另外,sql 与 spark 用户定义函数相比如何?
【问题讨论】:
标签: dataframe apache-spark pyspark