【发布时间】:2016-03-21 13:54:34
【问题描述】:
我已经阅读了类似的问题,但找不到针对我的具体问题的解决方案。
我有一个清单
l = [1, 2, 3]
和一个数据框
df = sc.parallelize([
['p1', 'a'],
['p2', 'b'],
['p3', 'c'],
]).toDF(('product', 'name'))
我想获得一个新的DataFrame,其中列表l被添加为另一列,即
+-------+----+---------+
|product|name| new_col |
+-------+----+---------+
| p1| a| 1 |
| p2| b| 2 |
| p3| c| 3 |
+-------+----+---------+
使用 JOIN 的方法,我用
加入 df sc.parallelize([[1], [2], [3]])
失败了。使用withColumn 的方法,如
new_df = df.withColumn('new_col', l)
由于列表不是Column 对象而失败。
【问题讨论】:
-
我认为这是一个很好的问题,因为它显示了 Spark DataFrames API 中严重缺失的功能。