题目起的不好,这篇类似于日记一样,记录一下排错过程吧~~
任务总是执行失败,
首先做了本地运行工程的排错,也做了print输出排错, (本地工程的流程就是 读本地csv文件,然后一些处理逻辑,然后输出保存到本地文件), 没什么错误
spark报错信息体现的就是函数的入参在函数内部错乱,
线上输出print的内容从spark日志看的方法是:
一样的代码,服务器端的处理逻辑是,读hive表,经过一些逻辑处理,然后存到hive表中,应该是数据出问题了,查看源头hive表,发现列存在错乱情况,终于排查到错误所在,是数据的问题,不是写的代码的逻辑的问题。
解决方法就是 try except 将异常数据给他跳过吧
心痛,排了一天的错,没想到是数据这里的问题。。。原计划又被拖慢了·· 这大概就是要踩的坑吧,踩过了下次才会很容易想到,才会避免类似问题,也算是成长吧
幸运的是,找到报错的源头了,
体会是:解决bug真的靠运气,也靠经验