开发易错点整理

类型 关键字 问题描述 记录时间 备注 补充说明
Spark 分号 join语句失效,是因为join上面语句注释有分号 2025-03-19 注释一定不要有特殊符号
Spark application作为字段名 测试能跑通,发布就报错 2025-03-19 不要用关键字作为字段名字,实在要用加反引号
Spark join join的关联字段一定要类型一致 2025-03-19 join 字母 a=数字97 会关联上
Spark join join的关联字段不能有null 2025-03-19 会产生笛卡尔积 关联条件两边都是null导致条件失效产生笛卡尔积
中台 补数 众安平台补数不会跳过自定义crontab 2025-03-21 crontab依赖上游表,补数会忽略执行条件,统一设最晚执行时间
Spark 建表 doris表的源头表应该parquet格式 未记录 doris抽取任务拉取parquet文件,orc格式会抽取失败
Spark 测试环境,测试报分区相关错误 测试环境分区表目录缺失分区层级,执行报错 2025-07-18 删除分区+修复表元数据:ALTER TABLE … DROP IF EXISTS PARTITION(…); msck repair table …;
Spark 比较(> < max min 等) 数字和字符类型比较大小规则不一致,需类型转换 未记录 ‘9’>’12’,9<12
Spark 分区每月只跑一天 补数会刷新分区数据,需加逻辑避免 2025-07-31 substr(if(dayofmonth(current_date) <> 5, current_date, date_sub(trunc(‘${bizdate}’,’MONTH’),1)),1,7)
Spark udf 能用原生语法实现尽量不用UDF 2025-08-07 UDF只用来实现原生无法实现的逻辑,提升迁移可移植性 反馈问题记录
Spark 判断空值 ad<> null 会跑出空数据 2025-08-07 正确写法:ad is not null 反馈问题记录
Spark 无关联条件连接 两张表无关联条件直接连接会报错 2025-08-07 必须用笛卡尔集时:set spark.sql.crossJoin.enabled=true; 反馈问题记录
Spark 测试和生产数据对不上 迭代需求数据量不一致 2025-09-12 检查代码中是否带入${xxx_project}等参数不一致
Spark 产生不干净分区 偶发不干净分区,报路径不存在错误 2025-10-22 删除异常分区+修复元数据,建议重跑数据
中台 日期 线下导入日期为字符串时注意格式 2025-11-14 统一转成yyyy-MM-dd,如2025/1/1→2025-01-01
中台 特殊符号 调度配置含< >等特殊字符需转义 2025-11-25 例:时点利润<0 → 时点利润%3C0
中台 in not in hive中in+not in≠总数,因包含null 2025-12-10 与产品确认是否需包含null数据
Spark row_id with语法多次调用导致row_number结果不一致 2026-01-08 order by 数据不唯一导致多次计算结果不一致
帆软 concat Doris拼接字段用 会类型识别错误 2026-03-13