当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

HData

ETL 数据导入/导出工具
授权协议 GPL 3.0
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 乌翔
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

  • http://blog.csdn.net/zlm838687/article/details/74781522   hdata datax交流总结 今天和阿里云的同学就数据同步做了简要的交流,下面就交流的内容做一个总结 分片相关 datax目前可以支持单机(standalone)和集群模式(cluster).目前开源的是单机版本。无论是单机版本还集群版本,分片都是通过datax进行。集群模式会把分

  • 从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应以及根据系列特点而设定的类型,使用不同的存储器,将使程序执行效率不同,在编写程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率此问题将在后面专门讲述。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统

  • 瀚高数据库 目录 文档用途 详细信息 文档用途 一体机HDATA恢复数据 详细信息 1. 恢复数据到指定位置 1) 停止数据库 systemctl stop hghac-vip pg_ctl stop 2) 声明新的环境变量$PGDATA,及新的数据目录 export PGDATA=/data/highgo/data2023 3) 恢复数据到指定目录 db_backup restore 4)

  • 瀚高数据库 目录 文档用途 详细信息 文档用途 一体机可在线添加、删除数据库集群节点。 详细信息 一体机可在线添加、删除数据库集群节点。具体操作步骤如下 一、节点添加 集群可以在其他机器上通过配置hghac.yaml文件,将新节点加入集群。 集群操作 1)安装集群软件(hghac) 当前版本运行shell脚本hghac_conf.sh 2)配置集群(hghac.yaml) 当前版本运行shell

  • 首先主函数如下: #include "reg52.h" #include "uart.h" typedef unsigned int u16; typedef unsigned char u8; void main() { UartInit(); while(1); } uart.h文件: #ifndef __UART_H #define __UART_H typedef unsigne

 相关资料
  • 数据的导入、导出任务一旦成功建立,结果将以邮件的形式发送到创建任务的用户邮箱里。 数据导出 接口 POST https://cloud.minapp.com/userve/v1/table/:table_id/export/ 其中 table_id 是数据表的 ID 请求参数 参数 类型 必填 说明 file_type String 是 导出文件的格式,支持 csv、json 格式 mode St

  • 数据的导入、导出任务一旦成功建立,结果将以邮件的形式发送到创建任务的用户邮箱里。 数据导出 接口 POST https://cloud.minapp.com/oserve/v1/table/:table_id/export/ 其中 table_id 是数据表的 ID 请求参数 参数 类型 必填 说明 file_type String 是 导出文件的格式,支持 csv、json 格式 mode St

  • 通过Three.js模型数据导入导出过程的学习,可以让你对Threejs解析加载外部模型的过程更为了解。 Threejs导出模型信息 你可以通过下面代码导出模型的各类信息,然后在浏览器控制台打印出来模型数据,然后复制浏览器控制台模型数据粘贴到json文件中,最后可以尝试加载解析这些Threejs导出的json文件。之所以这么做,是为了让你理解其它三维软件,比如3dmax、blender软件导出的三

  • 我是docker的新手,在运送数据容器时遇到了一个问题。好的,通常我们会发送图像,用户可以根据需要从该图像中启动容器,对吗? 现在我也想运送一些数据——所以我做了一个数据容器: 接下来,我简单地启动了一个bash,并将一些数据插入到我的数据容器中 现在我想允许我的团队成员使用相同的数据(脱机),所以我想“发送”我的数据容器给他们。因此我使用 但是当我重新导入这个 我不能使用这个“容器”,因为它似乎

  • 本文向大家介绍深入分析Mongodb数据的导入导出,包括了深入分析Mongodb数据的导入导出的使用技巧和注意事项,需要的朋友参考一下 一、Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。 mongoexport具体用法 参数说明

  • 问题内容: 我正在尝试编写脚本来导入数据库文件。我编写了脚本来导出文件,如下所示: 现在,我希望能够导入该数据库。我试过了 : 但是我不允许执行多个语句。有没有办法让它直接运行SQL脚本? 问题答案: 文件资料。

  • 更新时间:2019-07-08 15:20:11 目前设备开发工作台不支持本地工程文件夹导入,但是支持GIT导入,也支持下载workspace的工程文件夹到本地。 工程导入 Terminal->New Terminal,默认会进入~/workspace路径。用命令行方式在Terminal中执行代码 git clone https//文件名.git 可以把git文件导入workspace中。 例如上

  • 可以将本地文档导入到幕布中,也可以将幕布中的文档导出到本地,支持Word、PDF、HTML、OPML、FreeMind等多种格式。 导入 在文档列表主页面点击「新建」,可以选择导入OPML文件(.opml格式)或者FreeMind文件(.mm格式)。 导出 在文档编辑页面点击右上角「更多」选项: 导出/下载:将该文档导出到本地,支持Word、PDF、HTML、OPML格式; 打印:使用打印机打印该