基于阿里云MaxComputer的外部互联网数据上云方案

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mochou111/article/details/81280264

数据上云不仅仅是上那些纯粹的结构化数据,一些半结构化的数据,甚至视频,图片这些非结构化数据也需要应用,因此也诞生了很多存储这些数据的数据库等等,例如基于Nosql的HybirdDB,本文着重介绍下如何把半结构化数据上云到ODPS

互联网爬虫爬出来的数据可以直接爬到数据库,但是有时候数据库比较死板,无法数据迁移,比如内外网数据不通,这时候就需要一个中转,一般是把这些文件转存成半结构化csv格式进行各个存储结构之间的使用

说到csv,就不得不说分隔符的问题,一般来讲默认以半角逗号分隔(下文的逗号都是指的这个,即英文输入下的逗号),但是有时候数据里也会有逗号,这就会造成数据错列,上云脏数据或者列数不匹配上云失败。这时候需要对这些初始数据进行处理

处理之前先备份,省的处理失败无法还原,这份数据就无了

先看下文件是以哪种符号作为分隔符的,需要明白一点,无论csv文件什么分隔符,用excel打开就是以逗号作为列分隔,如果全文都没有逗号,则在Excel里变成一列。

如果文件以逗号分隔

双击文件用excel打开,这时候会看到行的列长度有不等之处,如果没有,那恭喜你不用处理了

先看下不等之处有多少,如果只是几行,可以直接在excle处理,如果太多,则用最后一列点击筛选,有的是空白,有的是有值,把有值的拿到文本处理文件里批量处理即可。原理就是把所有行的列长度保持与源数据统一,即可列对列上云数据

如果文件以其他分隔符分隔

先把文件用notepad++或者UE之类的打开,然后把逗号一键替换为其他符号,一般是替换为中文逗号或者管道符等等。

替换完之后,已经没有逗号了,但这时候也无法用excle打开了,打开后会全部在一列

我们需要把分隔符全部替换为逗号(一定要在原来的逗号都已经替换为其他符号之后)

然后另存为csv格式的,原本就是csv格式的保存即可。双击用excel打开,查看是不是所有的列长度都已经统一,一般来讲是都会统一的,不能的话一般是源文件的分隔就有问题,或者再按上面第一种的处理下。最后列对列上云

 

tips:有时候文件会很大,比如100M以上,这时候windows系统已经难以打开了,比如excle,notepad++等等,我们需要把文件放到linux系统里来处理,用sed -i  ''  file_name 来处理

不过linux系统可视化不高,我们替换完毕后可以用cat把文件重定向拆成几份,放excle里看。

 

展开阅读全文

没有更多推荐了,返回首页