【发布时间】:2017-05-19 22:51:59
【问题描述】:
假设我有一个包含三列的 DataFrame:
itemid, date, price
1, 2017-05-18, $1.10
2, 2017-05-18, $2.20
1, 2017-04-12, $0.90
1, 2017-03-29, $1.00
现在,我想按 itemid 分组,获取最早日期,并获取与最早日期匹配的价格。 (我们可以假设 (itemid, date) 是唯一的。)
上面输入的输出是:
1, 2017-03-29, $1.00
2, 2017-05-18, $2.20
在 SQL 中,我可以使用自联接来做到这一点——首先为每个 itemid 选择最短日期,然后选择价格和日期与该最短日期匹配的日期。
如何在 Scala Spark DataFrames 中表达这一点? 如果答案仍然涉及自连接,那么 Spark 1.6 中的 DataFrame 查询执行器是否足够智能,不会实际实现连接?
【问题讨论】:
标签: scala apache-spark dataframe spark-dataframe