apache-spark - pyspark - 如何在 withColumn 中添加 express
问题描述
我想添加一个新列,它是两个现有列的连接,我正在使用以下查询:这个查询有什么问题?我看到新列的“null”
df.select(df['DEST_COUNTRY_NAME'],df['ORIGIN_COUNTRY_NAME']).withColumn("COMPLETE_PATH",df['DEST_COUNTRY_NAME'] + ",").filter(df['DEST_COUNTRY_NAME']=='Egypt').show()
+-----------------+-------------------+-------------+
|DEST_COUNTRY_NAME|ORIGIN_COUNTRY_NAME|COMPLETE_PATH|
+-----------------+-------------------+-------------+
| Egypt| United States| null|
| Egypt| United States| null|
| Egypt| United States| null|
| Egypt| United States| null|
| Egypt| United States| null|
| Egypt| United States| null|
+-----------------+-------------------+-------------+
解决方案
尝试:
import org.apache.spark.sql.functions.concat
...
df.withColumn(concat(col("DEST_COUNTRY_NAME"), lit(",")))
推荐阅读
- php - 如何接收具有特定类的 html div 标签的值?
- json - 使用 grep 或 regex 提取 Json Key 值
- javascript - jQuery slideToggle 不工作,使用 display: none
- php - 如何比较两个日期之间的时间是否在另外两个日期之间?
- neo4j - 如何获取按关系属性排序的节点关系列表?
- php - 如何构建数组以检查用户代理与 browscap 和浏览器版本变量并输出 if 语句?
- c++ - 临时对象的分配与移动分配
- javascript - 具有 OR 运算符问题的数组解构,未捕获的类型错误:foo 不是函数
- unity3d - 您如何使对象在同一层上比其他对象更靠前
- android - RecyclerView 不滚动 & 不会显示大数字