和测试人员对碰,自己挖的坑,含着泪也要填完!

编程入门 行业动态 更新时间:2024-10-14 02:19:24

和测试人员对碰,自己挖的坑,含着泪<a href=https://www.elefans.com/category/jswz/34/1763058.html style=也要填完!"/>

和测试人员对碰,自己挖的坑,含着泪也要填完!

昨天数据接完了,想着今天交给测试就完了,应该问题不大吧,卧槽,一天没休息!

1.坑点一:数据类型不一致导致spark使用的时候报类型不匹配的错!

  1. 接入的时候是数据库的数据类型,但大家都知道hive一般都是用string类型,所以我ods和dwd层的数据表建的都是string类型,数据映射成hive表时没有报错,那你以为就没问题了,你错了!
  2. 使用spark-shell查询相同的表,hive里查没问题,使用sparksql查就报错,你说神奇不神奇,sparksql很强大呀,还可以给你检测类型呢(我内心:你,真绝,我不想检查啊!)

    3.个人解决方式,在接入到ods的时候就做数据类型的处理,一了百了,皆大欢喜!,代码贴一哈

val srcDF: DataFrame = xxx  #源df字段各种类型
val columns: Array[String] = srcDF.columns
val array: Array[Column] = columns.map(column => col(column).cast("string"))
val resDF: DataFrame = srcDF.select(arrayColumn :_*) #目标df全转成string类型

坑点二:有坑点一引发的惨案,日期时间不匹配?时间差八个小时?

当时理解为时区转换了,用的jdk8的1.3以上版本,默认时区为上海时区。ods转了一次,dwd又转了一次,神奇的负负得正,卧槽!最后采用坑点一的处理方式,此bug就消失了,有大神解释一下吗!

坑点三:没经过ETL的字段,数据竟然不一致?

是你测试查的有问题吧,是我的第一感觉,明天我要和她好好唠唠!

坑点四:测试用hive查询和使用spark-shell使用同一条SQL,竟然结果不一致?

  1. 首先,说一下,结果时hive的结果是正确的,spark的结果有错误的数据,但查询sql没问题。
  2. 表是在重新接入的时候刷新过了分区,不存在数据层面的问题
  3. 你说你为啥用spark-shell又查了一遍,给你自己找事干呢,还是我太闲了,给我找事干!
  4. 求大神来给我指点迷津!

明天继续和测试交锋,是男人,就不能怂(内心独白:后天就要放假了,消停点吧,姑奶奶!)

点了关注,不迷路。下期见吧,在这里提前祝大家,后天回家喽:

更多推荐

和测试人员对碰,自己挖的坑,含着泪也要填完!

本文发布于:2024-03-13 05:49:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1733321.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:也要   含着泪   人员   测试

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!