在pyspark-spark-aws glue中从dataframe创建spark中的分布式稀疏矩阵

g9icjywg  于 2021-05-29  发布在  Spark
关注(0)|答案(0)|浏览(294)

我的问题相当于这两篇文章,不同的是我需要在pyspark中执行相同的操作(因为我在aws glue中工作)。
正在从中创建稀疏矩阵的s3Parquet文件中的数据示例:

clientID  ProductID  Purchased
1         1          1
1         2          1
2         1          1
2         3          1
3         2          1

n、 b.客户未购买时没有行。结果矩阵应该是稀疏的。
在我的样本中,我有53000个客户,他们购买了超过1000000种不同的产品。这将产生一个相互作用矩阵,约有530亿个细胞需要填充。看起来像这样:

1     2     3     ...    999,999   1,000,000
1                            ...              
2          1           1     ...              
3                1           ...    1        
4                1           ...              1
...        ...   ...   ...   ...    ...       ...
52,999                       ...    1         
53,000           1           ...

完整的非抽样数据集将有~10m个itemid和~10m个userid。目前,我已经将productid放在clientid上,以最小化计算并强制解决方案,但这并不能有效地扩展。
我对pyspark非常陌生,因此非常感谢您的帮助。
我特别感兴趣的是帮助将mon以前的答案从scala转换成pyspark,因为这可能是我正在寻找的解决方案。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题