HData 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
HData 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 GPL 3.0
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开发厂商
地区 国产
提 交 者 Jayer
适用人群 未知
收录时间 2016-07-08

软件简介

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 指数为
超过 的项目

评论 (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
回复
举报
更多评论
暂无内容
06/16 17:16

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

注:近期因朋友的请求协助了解Hdata工具的使用,抽空进行了摸索,特整理此文;该ETL数据交换工具开发者已经有三、四年没有更新维护记录了,不确定该项目是否会继续维护,因此选择该工具应用于项目时,请考虑后续的...

0
0
发表了博客
2014/01/29 13:44

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

转载自:陈皓http://blog.csdn.net/haoel/archive/2003/04/02/2864.aspx 比如在一个项目中,有大量的数据结构,他们都是双向链表,但又想共用一套对链表的操作算法,这怎么做到呢,C中又没有C++中的继承,不然我可以继承一父(类中只有两个指针,一个向前一个向后),而其算法可以写在你类中的虚函数中,供子类使用。如:...

0
0
发表了博客
2018/03/26 15:28

Hadoop生产环境配置文件

前提: ①已经搭建好zk ②已经安装好JDK 正文开始: 首先从官网下载hadoop 2.7.3 (虽然官网3.0都出了。但是目前还没经过完全的测试。。待测试后。。。) 一、hadoop-env.sh(环境变量相关) export JAVA_HOME=/app/jdk/jdk1.8.0_92 export HOME=/app/hadoop export HADOOP_HOME=$HOME export HADOOP_COMMON_HOME=$HOME e...

0
0
发表了博客
2018/07/25 09:22

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 f1, > f2, > f3, > sum(cnt) > FROM test > GROUP BY f1, > f2, > f3; f1 f2 f3 _c3 A A A 2 A A B 1 B B A 1 hive (hdata)> SELECT f1, > f2, > f3, > sum(cnt), > GROUPING__ID, > rpad(rever...

0
0
发表了博客
2019/05/12 00:54

GetProp和SetProp的区别

GetProp 函数功能:该函数从给定窗口的属性列表中检索数据句柄。给定的字符串标识了要检索的句柄。该字符串和句柄必须在前一次调用SetProp函数时已经加到属性表中。 函数原型:HANDLE GetProp(HWND hWnd,LPCTSTR lpString); 参数: hWnd:指向要搜索属性表的窗口。 LpString:指向以null结尾的字符串指针,或者包含一...

0
0
发表了博客
2019/07/11 20:10

docker(五):存储卷管理

一、存储卷概述 存储卷(volume)说白就是宿主机上的一个目录,比如叫/hdata,将/hdata挂载到容器内部的数据目录/cdata上,以达到持久化数据的目的。然后说说不用volume的危害: 关闭或重启容器倒是不影响数据,但是删除容器会导致数据丢失 数据存储在容器内部,不利于查看 容器间共享数据不方便 docker有两种类型的存储...

0
0
发表了博客
2018/07/10 10:24

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

在MATLAB中有blkproc (blockproc)对数据处理, 在python下没找到对应的Function, 这里利用numpy 的split(hsplit和vsplit) 对数据分块处理成8x8的小块, 然后在利用OpenCV的dct函数做变换, 同时利用idct 验证数据变换是否正确. import numpy as np import cv2 a = np.arange(256).reshape((16,16)) print("ori data: \n{}"....

0
0
发表于大前端专区
2019/10/16 17:01

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

class WeatherApp : App(WeatherView::class) class WeatherView : View("十五天天气预报") { val weatherVM: WeatherViewModel by inject() val controller: WeatherController by inject() var hd......

1
0
发表于硬件 & IoT专区
2016/12/02 22:42

PYB Nano 超声波测距

这是论坛网友hbzjt2012的作品 US-100超声波测距模块支持电平触发和串口触发两种模式,这里使用串口触发模式,当插上跳线帽时为UART(串口)模式只需要在Trig/TX管脚输入0X55(波特率9600),系统便启动对当前距离...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/08/04 09:21

HData通过Maven时出现错误

@Jayer 你好,想跟你请教个问题:在使用Maven编译时出现如下错误,请求解答。

8
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
18 评论
405 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部