我想在userid = 22650984时更新值。如何在pyspark平台中执行此操作?感谢您的帮助。

>>>xxDF.select('userid','registration_time').filter('userid="22650984"').show(truncate=False)
18/04/08 10:57:00 WARN TaskSetManager: Lost task 0.1 in stage 57.0 (TID 874, shopee-hadoop-slave89, executor 9): TaskKilled (killed intentionally)
18/04/08 10:57:00 WARN TaskSetManager: Lost task 11.1 in stage 57.0 (TID 875, shopee-hadoop-slave97, executor 16): TaskKilled (killed intentionally)
+--------+----------------------------+
|userid  |registration_time           |
+--------+----------------------------+
|22650984|270972-04-26 13:14:46.345152|
+--------+----------------------------+

最佳答案

您可以使用 withColumn 实现您想要做的事情:

new_df = xxDf.filter(xxDf.userid = "22650984").withColumn(xxDf.field_to_update, <update_expression>)

update_expression具有更新的逻辑-可以是UDF或派生字段等。

关于pyspark - 如何修改pyspark使用的一行中的一列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49714413/

10-16 00:56