以前,曾经利用各数据库底层C-API作wrapping,实现了若干异构数据库间数据导入导出的功能,但是代码复杂,不便开源。
下午,用java写了一个简单的数据抽取程序,实现MySQL数据库到Sybase ASE的数据移植。将它开源,放到:http://code.google.com/p/jmyetl/上边了。本来取名做myetl,结果已经有人在sf.net上申请了,后来在其前加上一个j。以示java版本。
有兴趣的可以试用一下。
目前,可以是某用户的全库数据导入,也可以选择性的导入若干张表。
因为刚实现一个初步框子,所以定为0.9.0版。
打算以后有空再写些别的库间ETL,最后再重构,组合。
使用方法:
当前目录下边有一个xml配置文件etl_config.xml,其格式如下:
直接运行myEtl.bat即可实现导入。如果去掉<table>那一块的注释,则全库导入。
注意字符集选项,如果没有这个配置,很容易出现乱码。
目前的限制条件是:
不要使用数据库超级用户来配置连接,因为目前程序里边没有对系统表进行过滤。
后期计划:
Sybase ASE --> Sybase ASE
Sybase ASA --> Sybase ASE
Sybase ASE --> Sybase ASA
Oracle --> Sybase ASE
DB2 --> Sybase ASE
SQL Server --> Sybase ASE
逆向导入,以后有时间再做。
已有功能:
1. 能保持表结构几乎一致,类型兼容
2. 日志文件etl.log里会记录导入的详细过程以及中间可能出现的出错信息
3. 目标表,会建立与源表一样的主键结构
4. 目标表会创建与源表一致的identity信息
5. 通过字符集一致性配置,会保持源表中的字符集到目标表,不致乱码。
待改进功能:(下述功能,是细致一些的功能,适用目的不同,如果只是简单的抽取数据,则不需要)
1. 添加与源表一致的foreign key constraints (这个稍微有点复杂,会增加导入时间)
2. 添加与源表一致的index功能,即附加创建的索引也在目标表上体现出来
其实,以前用C++ wrapper实现的原理与java版本比较接近,相比JDBC而言,它能操纵更多底层的API,获取更丰富的信息,只是代码量可能比较大。
分享到:
相关推荐
一种多个DBMS间导入导出表及其数据的ETL工具。支持:PostgreSQL/hisql, MySQL, Access, SQLite, Sybase ASA/ASE, DB2, MS SQLServer, Oracle, CUBRID等多种DBMS。
2. **Apache Beam**:一个统一的编程模型,支持批处理和流处理,可以在各种执行引擎上运行,如Apache Flink、Apache Spark等。 3. **Apache Flume**:专注于日志数据的收集、聚合和传输,适用于大规模分布式环境。 ...
总的来说,基于Kettle的Web版ETL工具将Kettle的强大功能与Web的便利性结合在一起,提供了一种直观且易于部署的数据处理解决方案。无论是对于初学者还是经验丰富的数据工程师,都能从中受益,快速实现数据抓取、清洗...
- **ETL架构**:数据首先被抽取到一个中间层进行转换和清洗,然后再加载到目标数据仓库中。这种架构的优点包括可以减轻目标数据仓库的负担、实现复杂的数据转换逻辑以及与底层数据存储无关等特点。IBM DataStage 和 ...
在这个主题中,我们将深入探讨ETL工具的开源特性以及配置使用的一些基本知识。 首先,ETL工具的开源性质意味着用户可以免费获取并根据自己的需求进行定制。开源软件通常拥有活跃的社区支持,开发者可以通过源代码...
"the data warehouse ETL toolkit中文版"很可能是一个包含了上述功能的软件包,其特点在于提供了详细的中文文档和界面,使得中国用户在理解和操作上更为便捷,减少了语言障碍带来的困扰。 使用这样的工具箱,用户...
在这个压缩包中,我们找到了“数据仓库ETL工具箱 Data Warehouse ETL Toolkit.pdf”文件,这很可能是对ETL技术的详细指南或参考手册。以下是对这个主题的深入探讨。 1. **ETL过程详解**: - **提取(Extract)**:...
JAVA界最好用的开源ETL程序:Kettle,此为8.0已编译后的可执行版本(已编译直接可用版,非源代码版本,源代码版需编译后才能用喔),因文件大小近1G,CSDN放不下,所以这里放的是度盘资源链接.
数据仓库ETL工具箱中文版是一本专注于数据仓库构建与ETL(提取、转换、加载)过程的专业书籍。ETL是数据仓库系统的核心部分,它负责从不同的源系统中抽取数据,进行清洗、转换,然后加载到数据仓库中,以便进行高效...
4. ETL工具比较:分析市场上的主流ETL工具,如Informatica、Talend、Microsoft SQL Server Integration Services (SSIS)等,包括其优缺点和适用场景。 5. 数据转换技巧:讲解数据转换的常用技术,如SQL脚本、数据流...
在IT领域,SQL ETL管理工具是数据仓库和大数据处理中的关键组成部分。SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言,而ETL(Extract, Transform, Load)则是一个过程,用于从各种数据...
ETL Automation 是由 Teradata 公司发布的 ETL 流程调度产品,使用 JAVA 程序开发,支持跨平台部署,安装、维护简单。
此外,随着大数据和云计算的发展,一些工具如AWS Glue、Google Cloud Dataflow和Azure Data Factory也在ETL领域崭露头角,它们提供了更便捷的云原生解决方案,简化了数据集成过程。 综上所述,ETL工具的选择是一项...
ETL(Extract、Transform、Load)是一种常用的数据integration工具,用于从多个数据源中提取数据,转换为一种格式,然后加载到目标系统中。在实际应用中,选择合适的ETL工具是非常重要的。下面我们将对目前市面上...
ETL_Project:超级碗广告佩里·雷诺兹(Perry Reynolds)和LaTisha Habersham现状:ETL(提取,转换和加载) 经过数月从数据分析训练营学习各种技能后,我们被要求完成一个ETL(提取,转换和加载)项目。 我们随机...
Kettle,全称为Pentaho Data Integration(简称PDI),是一款功能强大的开源ETL(Extract, Transform, Load)工具,由社区驱动并免费提供。它允许用户从各种数据源抽取数据,进行清洗、转换和加载到不同的目标系统,...
4. **ETL工具**:市面上有很多ETL工具,如Talend、Informatica、Microsoft SSIS等,它们提供了图形化界面和预定义的组件来简化ETL流程。第七章和第十章可能讨论了这些工具的功能、使用方法以及选择和评估ETL工具的...