关联不同单元格中的向量Pyspark - DataFrame或RDD

时间:2017-01-17 21:11:53

标签: python apache-spark pyspark spark-dataframe rdd

我在Spark 2.0上使用Pyspark遇到了这个问题,我似乎无法弄清楚我是否需​​要进一步重塑数据,或者我是否可以关联DataFrame / RowRDD中每个单元格中的向量。

我有一个我正在使用的RowRDD,看起来像这样:

[Row(aa_product=1, apr=[45, 58, 25, 3, 54, 28], may=[91, 5, 15, 93, 78, 98]),
 Row(aa_product=2, apr=[64, 69, 93, 75, 59, 2], may=[27, 6, 15, 11, 33, 2]),
 Row(aa_product=3, apr=[27, 22, 95, 56, 76, 33], may=[70, 88, 24, 49, 33, 70]),
 Row(aa_product=4, apr=[58, 10, 93, 93, 26, 56], may=[89, 47, 8, 94, 84, 89]),
 Row(aa_product=5, apr=[15, 99, 55, 79, 33, 17], may=[70, 65, 13, 77, 92, 89])]

一年中的每个月都有其他列,它们都包含您在此处看到的整数列表。

以DataFrame形式:

+----------+--------------------+--------------------+
|aa_product|                 apr|                 may|
+----------+--------------------+--------------------+
|         1|[89, 53, 12, 61, ...|[58, 66, 27, 43, ...|
|         2|[73, 83, 61, 90, ...|[37, 89, 69, 11, ...|
|         3|[91, 13, 94, 69, ...|[48, 76, 54, 13, ...|
|         4|[66, 28, 7, 100, ...|[58, 57, 11, 14, ...|
|         5|[21, 58, 70, 52, ...|[87, 85, 43, 41, ...|
+----------+--------------------+--------------------+

我想要做的是在每个月将每个产品与其他产品相关联。因此,例如,将apraa_product = 1的向量与4月中产品2:5的向量相关联,以及每种产品的4月和5月向量之间的相关性。

我想出了如何将每个列表分解为它自己独特的product_month列,这最终将为我提供所需的解决方案,但该项目的规模使该解决方案变得令人望而却步。是否有可能以编程方式访问这些向量并将它们相互关联? RDD或DataFrame解决方案很好。

感谢您的帮助!

0 个答案:

没有答案