实在是对 sql/spark 不熟,不知道有没有朋友能指点一下?
比如,数据如下
customer = spark.createDataFrame([
(0, "Bill Chambers"),
(1, "Matei Zaharia"),
(2, "Michael Armbrust")])\
.toDF("customerid", "name")
order = spark.createDataFrame([
(0, 0, "Product 0"),
(1, 1, "Product 1"),
(2, 1, "Product 2"),
(3, 3, "Product 3"),
(4, 1, "Product 4")])\
.toDF("orderid", "customerid", "product_name")
我要拿到有 order 的 customer, 可以用 left semi
来做
customer.join(order, ['customerid'], "left_semi").show()
返回结果如图
现在,我想直接加上一列has_order
作为标记,而不是直接把没有的行去掉(这样方便对比分析、作图)。就是想得到这样的结果:
+----------+----------------+---------+
|customerid| name|has_order|
+----------+----------------+---------+
| 0| Bill Chambers | true|
| 1| Matei Zaharia | true|
| 2|Michael Armbrust| false|
+----------+----------------+---------+
想问下可以怎么做?
这个也在 stackoverflow 上问了一下,不知道这里有没有朋友可以指点一下,谢谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.