Embulk开门篇

笔者之前在一些博客中给大家介绍过Linkedin开源的Gobblin,它也是一个通用的数据抽取框架,可以将很多数据源(大家可以访问http://gobblin.apache.org,查看到具体的数据源有哪些,有动画演示)抽取到Hadoop大数据平台上,而且也具备了一些企业级的功能,比如可扩展,容错,事务,统一资源管理等等。这里就不再对Gobbin进行过多的介绍和研究。

今天笔者给大家带来另外一个开源项目产品:Embulk。

Embulk的github地址为:https://github.com/embulk/embulk,主要使用Java和Ruby开发。

对于这个项目,笔者也是接触不久,大概有点了解。另外在N年前也参与过Ruby项目开发,后续将和读者一起学习。

不管开源的哪一款产品都有适合的场景,只要在不断的学习和研究过程中,我们才会一一发现优点或缺点。

俗话说,无图无真相,上图:


其实我们从这张图上就可以知道很多信息,下面就会给读者一一介绍。

1.      首先可以看出Embulk是一个并行的bulk data loader。

2.      既然是一个bulk data loader,那么自然涉及到数据传输,从图上看出支持不同的存储、数据库、NoSQL和云服务之间的数据传输。

3.      对于如今海量的数据集,Embulk支持并行分布式执行。

4.      针对很多“ETL”产品缺失的功能,Embulk支持事务控制,保证数据All或Nothing。

5.      另外还支持错误恢复机制和数据质量的校验。

另外我们从官网还了解到Embulk另外一些支持的特性:

1.      自动的输入文件格式匹配

2.      丰富的插件,基于RubyGems.org的插件发布

上面笔者只是给大家一个引子,一个稍微整体的认识,后续会针对细节进行介绍。

猜你喜欢

转载自blog.csdn.net/jiangshouzhuang/article/details/79465153