我有一个非常大的长格式Dataframe(几十亿行),我想透视和矢量化(使用vectorassembler),目的是使用类似于tf idf的东西来降低维数。Dataframe一旦旋转,将有约1.3亿列。
源长格式架构如下所示:
root
|-- entity_id: long (nullable = false)
|-- attribute_id: long (nullable = false)
|-- event_count: integer (nullable = true)
按以下方式旋转失败,耗尽执行器和驱动程序内存。我可以增加这两个,但我的感觉是,旋转然后使用矢量汇编不是解决这个问题的正确方法。
wide_frame = (
long_frame.groupBy("entity_id")
.pivot("attribute_id")
.agg(F.first("event_count"))
)
为了实现每个实体的属性向量的最终目标,我应该尝试其他的Spark模式吗?
暂无答案!
目前还没有任何答案,快来回答吧!