如何使用pyspark将两列值组合到另一列?

Posted

技术标签:

【中文标题】如何使用pyspark将两列值组合到另一列?【英文标题】:How to combine two columns values to another column using pyspark? 【发布时间】:2021-12-08 12:14:29 【问题描述】:

这是我用来将值从 csv 映射到 aws 胶水中的 sql 表的代码。

mappings=[
        ("houseA", "string", "villa", "string"),
        ("houseB", "string", "small_house", "string"),
        ("houseA"+"houseB", "string", "combined_key", "string"),
    ],

我发现将 houseA 和 houseB 分别映射到“villa”和“small_house”列没有问题。但是当我尝试在“combined_key”列中包含 houseAhouseB 时,它给了我这个错误。

调用 o128.pyWriteDynamicFrame 时出错。不能 将值 NULL 插入列 'combined_key',表 'dbo.建筑物';列不允许空值。插入失败。

我不太明白为什么它会返回一个空错误。

关于如何修改代码的任何想法?

提前致谢。

【问题讨论】:

1. 'dbo.Buildings' - 你可以显示结构表吗?谢谢。 【参考方案1】:

我实际上发现胶水工作室中有一个自定义转换,我们可以使用 pyspark 代码实现这一点

【讨论】:

以上是关于如何使用pyspark将两列值组合到另一列?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一列的列值组合到 MySQL 中的另一列中?

PySpark Dataframe 将两列转换为基于第三列值的元组新列

如何像蜂巢中的地图一样将两列合并为一列?

如何根据另一列值将一列分成多个?

将两列放在另一列下方,带有侧边栏

pyspark 将列值与另一列进行比较包含值范围