与 Pyspark 合并

Posted

技术标签:

【中文标题】与 Pyspark 合并【英文标题】:Merge with Pyspark 【发布时间】:2016-12-09 20:06:11 【问题描述】:

我正在使用 Pyspark,我有 Spark 1.6。我想将一些价值观归为一类。

+--------+-----+
|  Item  |value|
+--------+-----+
|  A     |  187|
|  B     |  200|
|  C     |    3|
|  D     |   10|

我会将总价值少于 10% 的所有项目组合在一起(在这种情况下,C 和 D 将被组合成新值“其他”)

所以,新表看起来像

+--------+-----+
|  Item  |value|
+--------+-----+
|  A     |  187|
|  B     |  200|
| Other  |   13|

有人知道一些功能或简单的方法吗? 非常感谢您的帮助

【问题讨论】:

【参考方案1】:

您可以对数据框进行两次过滤,以获取一个仅包含您想要保留的值的数据框,一个仅包含其他值的数据框。对其他数据帧执行聚合以对它们求和,然后将两个数据帧重新组合在一起。根据数据,您可能希望在所有这些之前保留原始数据帧,以便不需要对其进行两次评估。

【讨论】:

谢谢,您的回答会很有帮助。

以上是关于与 Pyspark 合并的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark - 如何将转换后的列与原始 DataFrame 合并?

如何使用给定的reduce函数基于pyspark中的字段合并多个JSON数据行

PySpark:将 PythonRDD 附加/合并到 PySpark 数据帧

PySpark 或 SQL:消耗合并

Pyspark:合并嵌套列表中的值

pyspark列合并为一行