当前位置: 首页 > news >正文

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) = ‘*******’;
问题解决

相关文章:

  • React---day10
  • Python使用clickhouse-local和MySQL表函数实现从MySQL到ClickHouse数据同步
  • [ElasticSearch] DSL查询
  • Flask音频处理:构建高效的Web音频应用指南
  • Ubuntu系统下交叉编译cJSON
  • curl获取ip定位信息 --- system(一)
  • Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
  • 基于 BGE 模型与 Flask 的智能问答系统开发实践
  • 大模型与 NLP、Transformer 架构
  • 动力电池点焊机:驱动电池焊接高效与可靠的核心力量|比斯特自动化
  • 深入理解Java中的this关键字:核心概念与实践应用
  • XXTEA,XTEA与TEA
  • html+css+js趣味小游戏~Cookie Clicker放置休闲(附源码)
  • 探索 Java 垃圾收集:对象存活判定、回收流程与内存策略
  • 【大厂机试题多种解法笔记】小明减肥
  • 【推荐算法】DeepFM:特征交叉建模的革命性架构
  • python报错No module named ‘tensorflow.keras‘
  • 【CF】Day77——Codeforces Round 877 (Div. 2) BCD (构造场)
  • 智绅科技 —— 智慧养老 + 数字健康,构筑银发时代安全防护网
  • TDengine 替换 Hadoop,彻底解决数据丢失问题 !