Embulk是一款开源的批处理框架,它主要用于异构数据库,文件存储以及云服务之间的数据传输工具。特色:
支持并行和分布式处理大数据集
大部分插件支持事务处理
支持重跑(需要自身幂等性支持)
Embulk使用Yaml进行配置,主要包括下面几个section:
官方网站模板如下:
每个插件的具体的模板可以参考: http://www.embulk.org/plugins/
运行流程
安装:
下载elasticsearch的输出插件,file的插件在安装的时候自带。
创建一个简单的yml文件:seed.yml
随后embulk会自动猜测你需要的Yaml文件:
如下:
你看Embulk帮你补全了大部分,并在默认目录下生成了config.yml
如果你的文件中牵扯到时区的话,可以加上:
之后就可以执行yml文件:
diff.yml记录了上次最新跑过的数据,下一次会自动更新,并不会再运行记录在diff.yml文件里的文件
Embulk事务的支持
当数据中途因为各种原因断了的时候,Embulk支持重跑,只需要运行时加上resume-state.yml的生成路径
事务失败后,再次运行:
Embulk会根据resume-state.yml记录的状态重跑数据
如果不再需要事务支持,只需要删除即可。