博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录sqoop同步失败问题解决过程,过程真的是很崎岖。(1月6日解决)
阅读量:7021 次
发布时间:2019-06-28

本文共 618 字,大约阅读时间需要 2 分钟。

记录sqoop同步失败问题解决过程,过程真的是很崎岖。

事发原因:
最近突然出现sqoop export to mysql时频繁出错。看了下日志是卡在某条数据过不去了,看异常。看sqoop生成的mr并未发现问题。最后把要export的原始数据拿notepad++打开发现中断的数据是奇怪的乱码,查了一下是二进制的数据。

乱码数据生成原因:

我理解,api接口时接收流数据时长度和实际长度不符。

解决办法:

两块要解决,一是接口时做好容错,二是同步时还是要对这种二进制做兼容,因为谁也无法保证二进制数据不会再出现
针对第二个问题我经历了多个方案
1.起初我想让sqoop忽略错误,即产生错误的数据进行忽略,继续执行后边的数据同步,我通篇查询了官方文档,发现确实不支持这个,后来我也觉悟了,这确实不应该支持,sqoop的重试功能本来就是为了数据高可用。如要忽略那就没有了意义
2.继续思考方案。看看是否可以让sqoop或者mysql直接支持二进制,ok。mysql是支持的,即bolb(似乎拼错了,囧),但是最后我查到sqoop的jira,发现sqoop的bug不支持二进制同步。方案pass
3. 最后我猛然想到,我同步前将这种异常数据过滤好了?然后很简单的replace(field,'\0','')最后问题解决。。。。

总结:

1.解决问题方案很多。慢慢寻求最优解
2.数据清洗还是有问题。应该清洗阶段去除此异常数据

以上,没检验文字

转载地址:http://ftbxl.baihongyu.com/

你可能感兴趣的文章
C#中的异常处理
查看>>
实习日志(三)
查看>>
前端知识体系及修炼攻略
查看>>
XML相关概念和操作
查看>>
防止nodejs进程出错时退出
查看>>
动画-CAShapeLayer实现QQ消息红点拖拽效果
查看>>
Apache配置文件详解
查看>>
Linux命令:自动添加用戶
查看>>
我的友情链接
查看>>
Skype for Business后端服务器部署AlwaysOn可用性组实战篇
查看>>
快速理解什么是APT
查看>>
关于error LNK20xx的链接错误
查看>>
【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较
查看>>
linux学习日志
查看>>
Linux 常用命令
查看>>
jquery如何操作cookie
查看>>
手机号校验
查看>>
表格批量修改数据
查看>>
中国的农村在以后会很有市场?
查看>>
第六章TCP和UDP基本原理(续)
查看>>