来自 Dataframe 的 Pyspark 映射

Posted

技术标签:

【中文标题】来自 Dataframe 的 Pyspark 映射【英文标题】:Pyspark mapping from a Dataframe 【发布时间】:2020-06-08 13:46:27 【问题描述】:

如果通常在 pyspark 中使用以下方法映射我的列:

        Mapping_Typecom="COM":"Commune a",
                         "COMA":"Commune as",
                         "ARM":"Arrond mun",
                         "COMD":"Commun d"
        Mapping_Typecom = create_map([lit(x) for x in chain(*Mapping_Typecom.items())])
        df = df.withColumn("Mapped", Mapping_Typect.getItem(col("typecom")))

所以来自 python 字典。我想通过 pyspark 数据框获得相同的结果:

名称 |映射值

名称1 |价值1

....

名称2 |价值2

我正在考虑将我的数据框转换为 python 字典,但我认为这不是那么有效,因为我需要映射 100 000 个值。有没有办法在 pyspark 的框架内这样做?

感谢您的帮助,

【问题讨论】:

您能否更新示例输入和预期输出以便更好地理解? 【参考方案1】:

之前有人提到(显然删除了评论),使用与 mappedvalue 数据框的连接,以及我想要映射的数据框。它完成了工作,感谢他的帮助:)。有时您必须考虑“简单”的方式。

【讨论】:

以上是关于来自 Dataframe 的 Pyspark 映射的主要内容,如果未能解决你的问题,请参考以下文章

如何在pyspark中查找Dataframe列是一对一或一对多映射?

来自Python Dictionary的PySpark Dataframe没有Pandas

pyspark中的RDD到DataFrame(来自rdd的第一个元素的列)

计算 PySpark DataFrame 列的模式?

如何根据来自其他 pyspark 数据帧的日期值过滤第二个 pyspark 数据帧?

pyspark - 使用 RDD 进行聚合比 DataFrame 快得多