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

Spark SQL正则提取文件名中brand、日期等元数据字段问题求助

修正后的完整查询代码
SELECT x,y,z,
       -- 适配有无横杠的两种文件名场景提取brand
       regexp_extract(INPUT_FILE_NAME(), '^(?:[^/-]+-)?([^/_]+)_', 1) AS brand,
       -- 提取文件名中下划线后的8位数字日期
       regexp_extract(INPUT_FILE_NAME(), '_([0-9]{8})\\.tab', 1) AS FILE_DATE,
       -- 提取文件后缀作为SOURCE_DETAILS
       regexp_extract(INPUT_FILE_NAME(), '\\.([^.]+)$', 1) AS SOURCE_DETAILS,
       -- 提取不带后缀的完整文件名
       regexp_extract(INPUT_FILE_NAME(), '(.+)\\.[^.]+$', 1) AS Name
问题修复说明
  • brand提取适配:采用可选非捕获组匹配横杠前缀,有横杠时取横杠后下划线前的分类值,无横杠时直接取下划线前的品牌名,覆盖所有示例场景
  • FILE_DATE逻辑修正:原有正则是从路径的modified_dttm参数取值,不符合文件名内置日期的需求,修正后直接提取文件名中固定位置的8位日期,和示例输出规则完全对齐
  • SOURCE_DETAILS空值修复:原有正则匹配逻辑和需求不符,修正后直接提取文件后缀,可稳定返回tab值
  • NAME字段优化:修正后正则匹配最后一个.之前的全部内容,自动剔除文件后缀,不会保留后缀前的点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:24:01