【发布时间】:2016-08-12 01:01:48
【问题描述】:
我正在使用pySpark,并设置了我的数据框,其中两列代表每日资产价格,如下所示:
ind = sc.parallelize(range(1,5))
prices = sc.parallelize([33.3,31.1,51.2,21.3])
data = ind.zip(prices)
df = sqlCtx.createDataFrame(data,["day","price"])
我申请df.show():
+---+-----+
|day|price|
+---+-----+
| 1| 33.3|
| 2| 31.1|
| 3| 51.2|
| 4| 21.3|
+---+-----+
这很好。我想要另一列包含价格列的日常收益,即类似
(price(day2)-price(day1))/(price(day1))
经过大量研究,我被告知这是通过应用 pyspark.sql.window 函数最有效地完成的,但我不知道如何。
【问题讨论】:
-
我假设 sqlCtx 等同于使用 sc = SparkContext('local') spark = SparkSession(sc) 获得的 'spark' 对象
标签: pyspark spark-dataframe window-functions pyspark-sql