我有一个类似于以下内容的数据框:
q =sc.parallelize([Row(items=[1]), Row(items=[2]), Row(items=[2, 1]), Row(items=[5]), Row(items=[5, 2]), Row(items=[5, 2, 1]), Row(items=[5, 1]), Row(items=[3]), Row(items=[3, 5]), Row(items=[3, 5, 2]), Row(items=[3, 5, 2, 1]), Row(items=[3, 5, 1]), Row(items=[3, 2]), Row(items=[3, 2, 1]), Row(items=[3, 1])])
我需要创建一个包含所有项目组合的新数据框:
+------------+--------------+
| left | right
+------------+---------------
| [1]|[2]
| [1]|[2, 1]
| [1]|[5]
| [1]|[5,2]
| [1]|[5,2,1]
| [1]|[5,1]
| [1]|[3]
| [1]|[3,5]
| [1]|[3, 5, 2]
| [1]|[3, 5, 2, 1]
| [1]|[3,5,1]
| [1]|[3,2]
| [1]|[3,2,1]
| [1]|[3, 1]|
| [2]|[1]
| [2]|[2,1]
...
+------------+
我需要创建一个类似上面的数据框
答案 0 :(得分:0)
尝试使用crossJoin
方法:
q.crossJoin(q)
应该可以解决问题。