spark 执行 hive sql数据丢失

spark-sql 丢失数据

1.通过spark执行hive sql 的时候,发现 hive 四条数据,spark 执行结果只有两条数据

目标对应的两条数据丢失

select date, user_id, pay from dim.isr_pay_failed where user_id = '*******'

hive-sql 结果:

| date | user_id | pay |

| 20250425| d34342343* | 7 |

| 20250425| d34342344* | 7 |

| 202504525| d34342345* | 7 |

| 202504524| d34342346* | 7 |

spark-sql 结果

| 202504525| d34342345* | 7 |

| 202504524| d34342346* | 7 |

原因

表结构很总 user_id 为 CHAR 类型:

CHAR 类型数据在spark 和 hive 中存在如下差异:

Hive 类型 Spark SQL 类型 关键差异与注意事项

CHAR 不足补空格。建议通过 TRIM() 或改用 VARCHAR 避免填充问题。

TIMESTAMP TimestampType 时区敏感:Hive 默认使用服务器时区,Spark 需通过 spark.sql.session.timeZone

统一配置。

解决方式

select date, user_id, pay from dim.isr_pay_failed where triim(user_id) = '*******';

问题解决

相关推荐
NineData9 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
阿里云大数据AI技术1 天前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
得物技术2 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
肌肉娃子5 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
B站计算机毕业设计超人6 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
tryCbest6 天前
数据库SQL学习
数据库·sql
十月南城6 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
王九思6 天前
Hive Thrift Server 介绍
数据仓库·hive·hadoop
cowboy2586 天前
mysql5.7及以下版本查询所有后代值(包括本身)
数据库·sql
努力的lpp7 天前
SQL 报错注入
数据库·sql·web安全·网络安全·sql注入