zoukankan      html  css  js  c++  java
  • 记录sqoop同步失败问题解决过程,过程真的是很崎岖。(1月6日解决)

    记录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,'','')最后问题解决。。。。

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

    以上,没检验文字

  • 相关阅读:
    洛谷 P2515 [HAOI2010]软件安装
    洛谷 P3818 小A和uim之大逃离 II
    洛谷 P3155 [CQOI2009]叶子的染色
    洛谷 P1414 又是毕业季II
    NOI 2014 起床困难综合征
    NOI 2001 反正切函数的应用
    CF1311E Construct the Binary Tree
    小技巧—卡格式
    CF817F MEX Queries
    洛谷 U138573 序章&第一章 黑暗时代(eviltime)
  • 原文地址:https://www.cnblogs.com/hark0623/p/5175368.html
Copyright © 2011-2022 走看看