假设我有一个这个结构的数据帧:
time| asset | parameter
----|-------|----------
T1 | A1 | P1
T1 | A1 | P2
T1 | A1 | P3
T1 | A2 | P1
T1 | A2 | P2
T1 | A2 | P3
T2 | A1 | P1
....诸若此类
我想在这个数据帧上使用FPGrowth接口(作为spark.mllib的一部分),其中与同一时间戳对应的所有参数都被视为一个事务。我该怎么做呢?
documentation中给出的示例只涉及正在读取的文件,每行对应于一个不同的事务。
我是Spark的新手,所以欢迎任何形式的帮助!(使用Scala的Spark版本1.6.2 )
发布于 2016-11-24 06:23:32
透视您的数据,以便每个事务有一行。
然后运行FPgrowth。
发布于 2018-04-03 18:30:04
将列名附加到每个行值。您的Dataframe将如下所示:
+----------+-------------+-------------+
| time | asset | parameter |
+----------+-------------+-------------+
| time:T1 | asset:A1 | parameter:P1|
| time:T1 | asset:A1 | parameter:P2|
| time:T1 | asset:A1 | parameter:P3|
+----------+-------------+-------------+这使得值具有唯一性。
https://stackoverflow.com/questions/40768888
复制相似问题