You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark如何筛选postal_code字段包含英文字母的DataFrame数据

Spark DataFrame筛选postal_code包含英文字母的实现方案

核心逻辑是通过正则表达式匹配postal_code字段中是否存在任意大小写英文字母,匹配成功的行保留。

PySpark 实现

使用Spark SQL的rlike方法完成正则匹配:

from pyspark.sql import functions as F

# 筛选逻辑:postal_code包含任意大小写英文字母
filtered_df = df.filter(F.col("postal_code").rlike("[a-zA-Z]"))

# 查看筛选结果
filtered_df.show()

Scala Spark 实现

语法和PySpark逻辑一致,仅API写法略有区别:

import org.apache.spark.sql.functions.col

val filteredDf = df.filter(col("postal_code").rlike("[a-zA-Z]"))

// 查看筛选结果
filteredDf.show()
注意事项
  • 如果postal_code字段为数值类型,需要先转为字符串再匹配,避免类型报错,修改为:col("postal_code").cast("string").rlike("[a-zA-Z]")
  • 空值null调用rlike会返回null,不会被计入筛选结果,如果需要单独处理空值,可以额外添加isNotNull或isNull条件
  • 如果只需要匹配小写或大写英文字母,可将正则修改为[a-z](仅小写)或[A-Z](仅大写)即可

内容的提问来源于stack exchange,提问作者Sharmila Chowdary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:15:03