Gee*_*ngh 9 pivot group-by dataframe apache-spark
我正在尝试旋转原始数据大小 6 GB 的数据帧,它过去需要 30 分钟的时间(聚合函数sum):
x_pivot = raw_df.groupBy("a", "b", "c", "d", "e","f")
.pivot("g")
.agg(sum(raw_df("h")
.cast(DoubleType))
.alias(""), sum(raw_df("i"))
.alias("i"))
Run Code Online (Sandbox Code Playgroud)
当我将聚合函数更改为第一个时,它开始需要 1.5 小时。您能否帮助我理解为什么聚合函数会影响性能以及如何提高性能?
为了获得最佳性能,请指定数据透视列的不同值(如果您知道它们)。否则,将立即启动一项工作来确定它们。
像这样,在 as列表中
x_pivot = raw_df.groupBy("a", "b", "c", "d", "e","f")
.pivot("g",["V1","V2","V3"])
.agg(sum(raw_df("h")
.cast(DoubleType))
.alias(""), sum(raw_df("i"))
.alias("i"))
Run Code Online (Sandbox Code Playgroud)
V1、V2、V3 是“g”列中的不同值。
| 归档时间: |
|
| 查看次数: |
6639 次 |
| 最近记录: |