hammal 异构数据实时交换平台

hammal

hammal 是位来自东方的快乐工作的搬运工,他使用过各种工具,有自行车,两厢汽车,卡车,后来他遇到了scala,于是他想为何不用scala呢,于是就有了今天的故事。。。

背景

互联网公司的数据部门每天会面临大量数据的导入导出,它们来自不同类型的数据源,去往不同的目的地,它们数据量大的惊人,数据交换会带来额外的开销,执行效率差别很大。因此,我们需要这样的数据交换平台,1,满足异构数据的导入导出;2,数据交换的性能开销越低越好;3,数据传输过程避免过多的磁盘IO操作,实现全内存;4,良好的开放API,采用framework_plugin构建,业务方个性化plugin.基于这样的思想,京东开发了plumber系统,taobao推出了DataX系统,前者基于clojure,后者基于java开发,hammal 则采用了scala,通过基于scala的ringbuffer,akka构建一个异构数据快速交换系统。

关于项目

运行环境
    jdk1.7
    scala 2.10.2
编译及打包
    cd hammal
    sbt
    clean
    compile
    package
例子
详见 test/scala/example/Test.scala, MysqlReaderTest.scala,目前已经实现了 webspider,mysql read plugin, 和 hdfs writer plugin, 可以参照此定制自己的插件。

roadmap

plugin 与 framework 解耦;

mysql,hdfs,hbase,hive,sqlserver,oracle reader plugins开发;

mysql,hdfs,hbase,hive,sqlserver,oracle writer plugins开发;

disruptor,akka 优化;


项目源码下载地址:https://github.com/yfwangpeng/hammal


作者微博: http://weibo.com/58wp58     介平

你可能感兴趣的:(scala,大数据,big,data)