假设我有一个这种结构的数据帧:
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
API(作为spark.mllib
的一部分),其中与同一时间戳对应的所有参数都被视为事务。我该怎么做?
documentation中给出的示例只是简单地说明了正在读取的文件,每行对应一个不同的事务。
我是Spark的新手,欢迎任何形式的帮助! (Spark版本1.6.2与Scala)
答案 0 :(得分:0)
透视您的数据,以便每次交易都有一行。
然后运行FPgrowth。
答案 1 :(得分:0)
将列名添加到每个行值。您的Dataframe将如下所示:
+----------+-------------+-------------+
| time | asset | parameter |
+----------+-------------+-------------+
| time:T1 | asset:A1 | parameter:P1|
| time:T1 | asset:A1 | parameter:P2|
| time:T1 | asset:A1 | parameter:P3|
+----------+-------------+-------------+
这使得值唯一