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

如何在Foundry中预测试PySpark正则表达式的匹配效果

在Foundry中预测试PySpark正则表达式的方法

你可以通过以下3种方式完成测试,无需运行全量构建或全量检查流程:

1. 用Code Workbook做交互式测试

这是最灵活的快速验证方式:

  • 新建PySpark环境的Code Workbook,直接粘贴你的正则逻辑片段,或者导入你封装好的正则处理函数
  • 手动构造覆盖所有测试场景的小样本数据集,示例代码如下:
from pyspark.sql.functions import col, rlike

# 构造测试样本,格式为(输入字符串, 预期是否匹配)
test_samples = [
    ("test123@test.com", True),
    ("wrong-format-string", False),
    ("", None), # 空值边界case
    ("admin@company.org", True)
]
test_df = spark.createDataFrame(test_samples, schema=["input_content", "expected_result"])
  • 运行你的正则逻辑,对比实际输出和预期结果:
# 替换为你的正则表达式
test_df = test_df.withColumn("actual_result", col("input_content").rlike("^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"))
test_df.show()
  • 直接在单元格输出中查看匹配结果是否符合预期,调整正则后可以立刻重新运行验证。

2. 用数据健康检查做样本预校验

如果你的正则是用来做输出数据校验的,可以用这个方法:

  • 把你的正则匹配规则配置为对应数据集的数据健康检查规则
  • 规则运行范围选择「仅在预览样本上运行」,系统会自动拉取数据集的小批量样本执行校验
  • 直接在健康检查配置页查看匹配成功、失败的样本,确认规则符合预期后再开启全量检查。

3. 代码仓库单元测试集成

如果你的正则逻辑是写在Foundry代码仓库的转换逻辑中,可以用这个方式做长期校验:

  • 把正则处理逻辑封装为独立的可测试函数
  • 编写PySpark单元测试用例,覆盖所有你需要的测试样本和边界场景
  • 代码仓库的CI流程会在你每次提交代码时自动运行这些单元测试,提前发现正则匹配问题,无需触发全量构建。

建议测试时务必覆盖空值输入、特殊字符输入、边界长度输入、大小写敏感场景等容易出现漏匹配/误匹配的情况,避免全量运行时出现异常。

内容的提问来源于stack exchange,提问作者Jeyla Aranjo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:04