HData 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
HData 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: GPL 3.0
开发语言: Java 查看源码 »
操作系统: 跨平台
收录时间: 2016-07-08
提 交 者: Jayer

HData是一个异构的ETL数据导入/导出工具,致力于使用一个工具解决不同数据源(JDBC、Hive、HDFS、HBase、MongoDB、FTP、Http、CSV、Excel、Kafka等)之间数据交换的问题。HData在设计上同时参考了开源的Sqoop、DataX,却与之有不同的实现。HData采用“框架+插件”的结构,具有较好的扩展性,框架相当于数据缓冲区,插件则为访问不同的数据源提供实现。

【HData特性】

1、异构数据源之间高速数据传输;

2、跨平台独立运行;

3、数据传输过程全内存操作,不读写磁盘;

4、插件式扩展。

【HData设计】

  • 配置文件:XML格式,配置Reader、Writer的参数(如:并行度、数据库连接地址、账号、密码等);

  • Reader:数据读取模块,负责从数据源读取数据并写入RingBuffer;

  • Splitter:根据配置文件中Reader的并行度构造相应数据的ReaderConfig对象供Reader使用,以实现数据的并行读取;

  • RingBugffer:来自Disruptor的高性能环形数据缓冲区,基于事件监听模式的异步实现,采用无锁方式针对CPU缓存优化,在此用于Reader和Writer的数据交换;

  • Writer:数据写入模块,负责从RingBuffer中读取数据并写入目标数据源。

HData框架通过配置读取解析、RingBugffer 缓冲区、线程池封装等技术,统一处理了数据传输中的基本问题,并提供Reader、Splitter、Writer插件接口,基于此可以方便地开发出各种插件,以满足各种数据源访问的需求。

【编译&运行】

  • 编译

    执行 ./bin/package-hdata.sh 命令,执行成功后将会生成压缩包 ./buildhdata.tar.gz ,然后解压即可。

  • 运行

    ./bin/hdata --reader READER_NAME -Rk1=v1 -Rk2=v2 --writer WRITER_NAME -Wk1=v1 -Wk2=v2

READER_NAME、WRITER_NAME分别为读/写插件的名称,例如:jdbc、hive Reader插件的参数配置以-R为前缀,Writer插件的参数配置以-W为前缀。

配置参数请参考:https://github.com/stuxuhai/HData

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

HData 的相关资讯

还没有任何资讯

HData 的相关博客

ETL数据导入导出工具HData使用

注:近期因朋友的请求协助了解Hdata工具的使用,抽空进行了摸索,特整理此文;该ETL数据交换工具开发者已经有三、四年没有更新...

用C写有面向对象特点的程序

转载自:陈皓http://blog.csdn.net/haoel/archive/2003/04/02/2864.aspx 比如在一个项目中,有大量的数据结构,他们都是双向链...

Hadoop生产环境配置文件

前提: ①已经搭建好zk ②已经安装好JDK 正文开始: 首先从官网下载hadoop 2.7.3 (虽然官网3.0都出了。但是目前还没经过完全的...

Hive之cube和roolup

Cube hive (hdata)> select * from test; test.f1 test.f2 test.f3 test.cnt A A B 1 B B A 1 A A A 2 hive (hdata)> SELECT ...

GetProp和SetProp的区别

GetProp 函数功能:该函数从给定窗口的属性列表中检索数据句柄。给定的字符串标识了要检索的句柄。该字符串和句柄必须在前一次...

docker(五):存储卷管理

一、存储卷概述 存储卷(volume)说白就是宿主机上的一个目录,比如叫/hdata,将/hdata挂载到容器内部的数据目录/cdata上,以...

在python3下对数据分块(8x8大小)使用OpenCV的离散余弦变换DCT

在MATLAB中有blkproc (blockproc)对数据处理, 在python下没找到对应的Function, 这里利用numpy 的split(hsplit和vsplit) 对数...

用javafx框架tornadofx做了个天气预报的程序

class WeatherApp : App(WeatherView::class) class WeatherView : View("十五天天气预报") { val weatherVM: WeatherViewMo...

PYB Nano 超声波测距

这是论坛网友hbzjt2012的作品 US-100超声波测距模块支持电平触发和串口触发两种模式,这里使用串口触发模式,当插上跳线帽时为...

HIVE基础学习

http:--hive.apache.org/ Hive 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。...

HData 的相关问答

8
回答

评论 (18)

加载中
输出能用hdata自动建表么?
2019/05/24 14:25
回复
举报
导出csv支持带表头么?如何支持?
2019/05/24 14:18
回复
举报
打分: 还行
尝试了mysql抽取数据到oracle,很多问题,没成功!!! mysql到mysql没有问题
2017/02/23 17:48
回复
举报
支持Oracle到MySQL吗? #HData#
2016/07/10 09:00
回复
举报
收藏了 #HData#
2016/07/10 09:36
回复
举报
Jayer软件作者
@夏夜微凉 ,HData支持Oracle到MySQL,选用hdata的jdbc插件。只需要把Oracle的jdbc驱动jar包放到hdata jdbc插件的lib下即可,同理hdata也支持其他jdbc数据库 #HData#
2016/07/10 12:07
回复
举报
赞,请问跟阿里的禺公有相似吗 #HData#
2016/07/10 13:50
回复
举报
赞一个 #HData#
2016/07/10 17:29
回复
举报
@悠然 你怎么看 #HData#
2016/07/10 17:49
回复
举报
仅支持mysql吗? #HData#
2016/07/10 22:45
回复
举报
更多评论
18 评论
405 收藏
分享
返回顶部
顶部