大批量处理excel文件到ODPS中方案

  1. 云栖社区>
  2. 博客列表>
  3. 正文

大批量处理excel文件到ODPS中方案

zhangyadong 2018-12-06 14:51:45 浏览110 评论1

摘要: 大批量处理excel文件到ODPS中方案 前言 最近所做的项目需要将近五千个excel文件导入到ODPS,并且excel文件内容格式全部不一样。 刚接到需求时特别的懵,不过工作还是要做的,首先通过查询dataworks中文档来看怎么实现该需求,通过文档了解到只支持csv、txt等格式进行单个上传,然后就开始着手做。

  • 大批量处理excel文件到ODPS中方案

    前言

    • 最近所做的项目需要将近五千个excel文件导入到ODPS,并且excel文件内容格式全部不一样。

      刚接到需求时特别的懵,不过工作还是要做的,首先通过查询dataworks中文档来看怎么实现该需求,通过文档了解到只支持csv、txt等格式进行单个上传,然后就开始着手做。

    方案一

    • 1 、首先按照excel文件内容创建表(下图序号1中),然后将excel文件进行处理,删除一些不必要的数据(序号2中的一些空格),然后另存为逗号分隔的csv格式文档,然后在dataworks数据开发中上传csv文件,达到将excel文件上传。(具体的可以参照官网上步骤,非常的详细,我就不啰嗦了)。

    • bc8841b8f2e3b80f075dc1f5ebd3b7630711edd6
    • 备注: 该方式可以实现excel文件转换成csv文件进行上云。但是由于格式不统一,需要逐个的创建表进行上传,一天只上传一百来个excel文件,效率是非常慢的。

    方案二

    • 通过查找发现dataworks支持RDS整库迁移的方式,于是就在想是否可以将这些excel文件批量的上传到RDS中,购买了一个RDS实例,通过半天的学习配置等,发现也无法批量的上传excel文件。

    • 于是就寻找别的方式,最终通过在本机电脑上自建mysql数据库,然后用navicat连接上,通过navicat批量的上传数据到mysql 中,

    07842f9a9537958cc4c6dc554dd6a76e26d4110f

    • d222eae708df1a48e87f4a8d9769239f50b5d299
    • 接着将上传的数据整库的导出成SQL文件,由于RDS的mysql支持上传sql文件,并且最大支持100M内的文件上传,然后执行。
    • 将转储SQL文件结构和数据文件上传到RDS中执行,数据便到RDS中,然后在dataworks中整库迁移数据即可全部同步完成,整个批量上传过程一下午即将五千多个excel文件全部上云。

    方案三

    • 由于考虑到在本机自建mysql毕竟不稳定,就打算购买ECS,然后在上边自建mysql,然后同步数据,不过该方式最终同步成功,但是不建议使用,该方式不支持整库迁移,并且只能写脚本,还要两台以上的ECS,其中一台作为代理,故不推荐该方式。

      以上只是自己在使用中摸索的方法,相信还有更好更完善的方法,希望大家多多分享。

    总的来说dataworks升级到2.0功能是十分强大的,数据保护伞、智能监控、数据服务、任务发布等新功能。

附件下载: 大批量处理exc...[zhangyadong].1544079467.pdf
【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论

1F
马铭芳

您好,我是云栖社区小编,您的这篇文章内容排版格式有内容,请注意及时修改~

zhangyadong
文章1篇 | 关注0
关注
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、Po... 查看详情
MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供... 查看详情
面向阿里云ECS实例、HPC和Docker的文件存储服务。 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
双12

双12