资讯专栏INFORMATION COLUMN

GreenPlumn数据采集踩坑事记

IT那活儿 / 2922人阅读
GreenPlumn数据采集踩坑事记
1、事件背景


因近期准备进行历史库割接,但历史库中数据陈旧且种类繁多,需要梳理连接历史库有哪些主机,哪些进程,访问了哪些用户对象,方便做后期迁移方案和业务切换规划。因此我们通过DOMP平台对历史库的会话信息进行定期采集。采集的基础信息入库到GP中,奇怪的事情从这里就开始了。


2、踩坑过程


一般现场正常的数据采集流程如下:

构思数据采集需求→编写采集脚本→创建GP入库表→变更入库脚本→重启数据入库程序。这种流程基本是已固化的,然而本次配置完成后,出现了醒目的ERROR!


以上报错比较明显,应该是编码错误导致,于是查了GreenPlum数据库默认编码格式:UTF8,再查了查主机的编码,都是UTF8,暂时没有发现什么异常。


进一步排查错误到底是出在哪里,难道是文件的编码导致的?马上验证了一下,结果如下:


可以通过结果看出来该文件的MIME-type是application/octet-stream;charset=binary,我想问题应该找到了。所有文件都是保持一致的,为什么单单就这个文件出现这个情况呢?

采集的数据首先会进入到kafka中,检查kafka里对应topic生产数据,发现数据后面多了’u00000’。


GreeenPlum官网解释为字符中包含了u00000,但是实际查询确实没看到有这种特殊字符出现。

这时我们想到是否是平台的问题,赶紧联系了开发的同事,开发仔细检查了相关的代码,确定并没有改变文件编码的地方,开发的同事建议发现kafka消费生成的csv文件中存在特殊字符^0^。


生成的csv文件部分内容:


重新又在oracle库上查询了一下数据,并未发现有特殊字符


继续排查这个特殊字符的来源,我们尝试用引号拼接的方式,查出machine值中确实有空格的情况存在,且这种空格的machine值也正好对应上kafka消费生成的csv文件那几行有问题的数据。终于看到了希望的曙光。


继续通过字段的截取和ascii码转换发现该值就是0,真是个大坑。


最后通过修改采集脚本,将肉眼看不到的空格替换为空解决了问题。采集任务拉起来后,数据已正常进入GP库中。

oracle采集的数据有空字符串,而空字符(ascii码0,在程序里一般写作""),在vim里就显示成^@。但在oracle中去查询有问题的数据列时,我们并没有发现对应的列有空数据。


3、分析总结


回想整个事件的处理过程,排查多次无果的时候是容易令人放弃的,此次数据采集出现文件编码的异常就是从问题出现的原因去排查(编码异常,是数据库编码还是主机编码,还是数据文件编码),再去从数据源头排查(采集oracle源数据),均无异常,最后排查数据中间处理程序(kafka)找到了数据的异常原因。当中途出现这种没有解决思路的时候,可以请教身边同事,扩展自己解决问题的思路。总的来说,解决问题的时候,细心,多思考,多请教,肯钻研,那么再难的问题也会不攻自破。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130128.html

相关文章

  • 公司大事记-jQuery跟踪切换

    摘要:需要实现的效果如下图总是显示最新一个年份的列表,每次显示个年份列的列表手机个手机显示如下列表上鼠标也可以切换,两个箭头同样可以切换。 需要实现的效果如下图: showImg(https://segmentfault.com/img/bVc9Oc); 总是显示最新一个年份的列表,每次显示10个年份列的列表(手机4个)showImg(https://segmentfault.com/...

    Dean 评论0 收藏0
  • 2021年8月国产数据库大事记

    摘要:本文整理了年月国产数据库大事件和重要产品发布消息。柏睿数据库加速安全卡面向全球重磅发布。月日,在全球数字经济大会成果发布会上,中国移动北京分公司与国产数据库领域新锐企业柏睿数据签署战略合作协议。本次大赛主要面向全国爱好数据库的高校学生。 本文整理了2021年8月国产数据库大事件和重要产品发布消息。目录8月国产数据库大事记TOP108月国产数据库大事记时间线产品/版本发布兼容认证8月排行榜新增...

    Scorpion 评论0 收藏0
  • 2021年10月国产数据库大事记

    摘要:月日消息,近日,中国信息通信研究院大数据产品能力评测数据库方向的测评结果陆续出炉。月日消息,国家工业信息安全发展研究中心发布电信行业数据库产品第一期测评结果,前三名分别是阿里云数据库柏睿数据企业级交易型数据库信创版云和恩墨企业级数据库。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-si...

    elva 评论0 收藏0
  • 戴尔是如何让科技熠熠生辉的?

    摘要:今年是戴尔科技进入中国周年,环保并不是今年的科技峰会的主题,但对它的彰显却让戴尔的峰会显得与众不同就像那块印有海龟图片的背景板一样,它让周边原本冰冷的科技产品看起来熠熠生辉。戴尔科技集团正在努力成就这种期待。我伸手摸了摸,它像小羊皮一样柔软和细腻。金秋的北京,清晨的阳光穿透了它,让它看起来像磨砂玻璃般散发着温润的光泽。它是一块背景板,上面印着色彩浓绿的海底。一只海龟,正惬意地游向水面,准备深...

    curlyCheng 评论0 收藏0
  • 2021年9月国产数据库大事记

    .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body...

    suemi 评论0 收藏0
  • 阿里云史上最大技术升级!正式发布飞天2.0云计算操作系统

    摘要:在今天的杭州云栖大会上,阿里云公布了面向万物智能的新一代云计算操作系统飞天。飞天是阿里云自主研发的大规模云计算操作系统,可将全球数百万台服务器连成一台超级计算机,为社会提供计算能力。在今天的2018杭州·云栖大会上,阿里云公布了面向万物智能的新一代云计算操作系统——飞天2.0。官方表示,飞天2.0可满足百亿级设备的计算需求,覆盖从物联网场景随时启动的轻计算到超级计算的能力,这也是阿里云史上最...

    darryrzhong 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<