zl程序教程

您现在的位置是:首页 >  其他

当前栏目

kettle进行数据迁移遇到的问题

迁移数据 进行 遇到 kettle 问题
2023-09-14 08:56:52 时间

使用kettle进行oracle或db2数据导入到mysql或postgres数据库过程中遇到以下问题,以下只是一个简单描述,详细的说明以及所做的代码修改没有提及。下面所提到的最新的pdi程序是我修改kettle源码并编译之后的版本。

同时运行两个pdi程序,例如:一个为oracle到mysql,另一个为oracle到postgres,其中一个停止运行 原因:从oracle迁移到mysql创建的作业和转换文件和oracle到postgres的作业和转换保存到一个路径,导致同名称的转换相互之间被覆盖,故在运行时候会出现混乱。 解决办法:将新建的作业和转换分别保存在两个不同的路径,最好是新建两个不同路径的仓库,关于如何新建仓库,请参考《kettle使用说明》文档。 关键字的问题。

Oracle初始化到mysql,关键字前面会加上前缀“MY_”。如果在建表的时候出现错误,则需要检查表的字段中是否有关键字。

解决办法:出差的表单独进行处理,新建一个转换,实现关键字段该名称然后初始化出错的表。具体操作参见文档。 oracle中的字段名从中可以有#号,但是到mysql会报错 解决办法:字段改名称,去掉#号 Db2初始化到mysql或是postgres出错 原因:1)db2数据库连接用户没有权限访问出错的表;2)出错的表名存在小写字母 解决办法:使用更新后的pdi程序,更新后的程序会将db2的表名使用双引号括起来。 Oracle到mysql和pg时日期类型数据值有偏差 原因:从oracle中读取日期类型的数据时候,读取结果与oracle数据库中的数据已经存在偏差。少数记录使用oracle10g的驱动读取数据少一个小时,用oracle11g的驱动会多一个小时,该问题尚待oracle工程师给出解决方案。 主键从ORACLE导入不到MYSQL和POSTGRES 原因:pdi程序中没有对主键进行处理 解决办法:使用更新的pdi程序,执行Tools####Wizzard####Copy Tables Extension…功能添加主键;执行Tools####Wizzard####Copy Tables Data Only…功能可以只复制数据 Oracle中存在ascii字符导入到postgres时候报错:ERROR: invalid byte sequence for encoding “UTF8”: 0x00 原因:PostgreSQL内部采用C语言风格的字符串(以0x00)表示结尾,因而不允许字符串中包括0x00,建议在转换时先对字符串类型的数据进行清洗,也就是增加一个节点用于删除字符串数据中的特殊字符0x00。 解决办法:使用新的pdi程序。在kettle的DataBase类中修改PreparedStatement.setString(int index,String value)方法传入的参数,将value的值trim之后在setString 异构数据库之间的类型兼容问题。日期类型和时间类型的数据初始化到mysql或postgres中都为时间类型的数据,导致数据对比时候数据不一致。 原因:Pdi程序中的类型转换采用的是向上兼容的方式,故日期和时间类型都转换为时间类型数据。 解决办法:针对与db2数据初始化到mysql和postgres,该问题在最新的pdi程序中已经处理。因为oracle中的日期类型字段既可以存日期又可以存时间,故没针对oracle数据做出处理。 Db2中没有主键的数据初始化到mysql和postgres需要添加索引 解决办法:使用最新的pdi程序,最新的pdi程序会添加主键和索引。 Db2中decimal(n,m)类型的数据初始化到postgres数据库被四舍五入。 原因:Db2中decimal(n,m)类型的数据初始化到postgres中的类型不对。 解决办法:使用最新的pdi程序。 导数据中途时没有报错,直接软件退出 原因:1)jvm内存溢出,需要修改jvm参数;2)pdi程序报swt错误 解决办法:修改jvm参数 初次使用kettle做db2的初始化会报错 原因:kettle中的db2的jdbc驱动与使用的db2版本不对应。 解决办法:从db2的安装目录下拷贝jdbc驱动到kettle目录(libext/JDBC)下
PolarDB-X 1.0-用户指南-数据导入导出-使用mysqldump导入导出数据 PolarDB-X支持MySQL官方数据导出工具mysqldump。本文围绕PolarDB-X数据导入导出的几种常见场景对操作步骤和注意事项进行说明。mysqldump命令的详细说明请参见MySQL 官方文档。 mysqldump适合小数据量(低于1000万)的离线导入导出。如果需要完成更大数据量或者实时的数据迁移任务,请参见数据传输服务。
Cassandra数据迁移-BulkLoad离线工具介绍 该工具通过文件流接口快速导入数据到cassandra集群,是最快地将线下数据迁移到线上cassandra集群方法之一,准备工作如下 线上cassandra集群 线下数据,sstable格式或者csv格式。
数据迁移工具DataX部署与使用 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
Cluster-A导出: hbase --config /tmp/hbase-client-conf org.apache.hadoop.hbase.mapreduce.
雨客 微博@JavaChen,这里的所有博客文章来自http://blog.javachen.com/。