云数据迁移 CDM
云数据迁移 CDM
- 最新动态
- 功能总览
- 产品介绍
- 快速入门
-
用户指南
- IAM权限管理
- 支持的数据源
- 创建并管理CDM集群
-
在CDM集群中创建连接
- 创建CDM与数据源之间的连接
-
配置连接参数
- OBS连接参数说明
- PostgreSQL/SQLServer连接参数说明
- 数据仓库服务(DWS)连接参数说明
- 云数据库MySQL/MySQL数据库连接参数说明
- Oracle数据库连接参数说明
- DLI连接参数说明
- Hive连接参数说明
- HBase连接参数说明
- HDFS连接参数说明
- FTP/SFTP连接参数说明
- Redis连接参数说明
- DDS连接参数说明
- CloudTable连接参数说明
- MongoDB连接参数说明
- Cassandra连接参数说明
- DIS连接参数说明
- Kafka连接参数说明
- DMS Kafka连接参数说明
- 云搜索服务(CSS)连接参数说明
- Elasticsearch连接参数说明
- 达梦数据库 DM连接参数说明
- SAP HANA连接参数说明
- 分库连接参数说明
- MRS Hudi连接参数说明
- MRS ClickHouse连接参数说明
- 神通(ST)连接参数说明
- LogHub(SLS)连接参数说明
- Doris连接参数说明
- YASHAN连接参数说明
- 上传CDM连接驱动
- 新建Hadoop集群配置
-
在CDM集群中创建作业
- 新建表/文件迁移作业
- 新建整库迁移作业
-
配置CDM作业源端参数
- 配置OBS源端参数
- 配置HDFS源端参数
- 配置HBase/CloudTable源端参数
- 配置Hive源端参数
- 配置DLI源端参数
- 配置FTP/SFTP源端参数
- 配置HTTP源端参数
- 配置PostgreSQL/SQL Server源端参数
- 配置DWS源端参数
- 配置SAP HANA源端参数
- 配置MySQL源端参数
- 配置Oracle源端参数
- 配置分库源端参数
- 配置MongoDB/DDS源端参数
- 配置Redis源端参数
- 配置DIS源端参数
- 配置Kafka/DMS Kafka源端参数
- 配置Elasticsearch/云搜索服务源端参数
- 配置MRS Hudi源端参数
- 配置MRS ClickHouse源端参数
- 配置达梦数据库 DM源端参数
- 配置LogHub(SLS)源端参数
- 配置神通(ST)源端参数
- 配置Doris源端参数
- 配置YASHAN源端参数
- 配置CDM作业目的端参数
- 配置CDM作业字段映射
- 配置CDM作业定时任务
- CDM作业配置管理
- 管理单个CDM作业
- 批量管理CDM作业
- 查看审计日志
- 关键操作指导
- 使用教程
- 最佳实践
- 性能白皮书
- 安全白皮书
- API参考
-
常见问题
- 通用类
-
功能类
- 是否支持增量迁移?
- 是否支持字段转换?
- Hadoop类型的数据源进行数据迁移时,建议使用的组件版本有哪些?
- 数据源为Hive时支持哪些数据格式?
- 是否支持同步作业到其他集群?
- 是否支持批量创建作业?
- 是否支持批量调度作业?
- 如何备份CDM作业?
- 如何解决HANA集群只有部分节点和CDM集群网络互通?
- 如何使用Java调用CDM的Rest API创建数据迁移作业?
- 如何将云下内网或第三方云上的私网与CDM连通?
- CDM是否支持参数或者变量?
- CDM迁移作业的抽取并发数应该如何设置?
- CDM是否支持动态数据实时迁移功能?
- CDM是否支持集群关机功能?
- 如何使用表达式方式获取当前时间?
- 在创建迁移作业时,where语句参数中的时间格式是怎样的?
- CDM作业可以将源表中的字段注释迁移到目标端表吗?
-
故障处理类
- 日志提示解析日期格式失败时怎么处理?
- 字段映射界面无法显示所有列怎么处理?
- CDM迁移数据到DWS时如何选取分布列?
- 迁移到DWS时出现value too long for type character varying怎么处理?
- OBS导入数据到SQL Server时出现Unable to execute the SQL statement怎么处理?
- 获取集群列表为空/没有权限访问/操作时报当前策略不允许执行?
- Oracle迁移到DWS报错ORA-01555
- MongoDB连接迁移失败时如何处理?
- Hive迁移作业长时间卡顿怎么办?
- 使用CDM迁移数据由于字段类型映射不匹配导致报错怎么处理?
- MySQL迁移时报错“JDBC连接超时”怎么办?
- 创建了Hive到DWS类型的连接,进行CDM传输任务失败时如何处理?
- 如何使用CDM服务将MySQL的数据导出成SQL文件,然后上传到OBS桶?
- 如何处理CDM从OBS迁移数据到DLI出现迁移中断失败的问题?
- 报错“配置项[linkConfig.createBackendLinks]不存在”或“配置项 [throttlingConfig.concurrentSubJobs] 不存在怎么办”?
- 新建MRS Hive连接时,提示:CORE_0031:Connect time out. (Cdm.0523) 怎么解决?
- 迁移时已选择表不存在时自动创表,提示“CDM not support auto create empty table with no column”怎么处理?
- 创建Oracle关系型数据库迁移作业时,无法获取模式名怎么处理?
- MySQL迁移时报错:invalid input syntax for integer: "true"
- 作业源端是Oracle时,运行时间过长报snapshot too old怎么解决?
- 整库迁移到Hive,报错Identifier name is too long如何处理?
- 迁移数据到DLI时有数据丢失怎么处理?
- 创建Oracle数据连接测试连通性成功,连接管理界面中测试连接失败。是什么原因?
- 作业配置表不存在时自动创建,目的端字段映射不出来怎么处理?
- 作业从旧集群导出,再导入到新的集群失败怎么解决?
- 迁移HDFS文件,报错无法获取块怎么处理?
- CDM作业管理访问不了,提示网络或服务器访问异常怎么处理?
- 通过CDM从OBS迁移数据到DLI,同样的作业在新版本集群迁移失败?
- CDM迁移DWS数据报错Read timedout怎么处理?
- CDM集群Hive连接无法查询库和表的内容
- 创建FusionInsight HDFS连接报错get filesystem怎么解决?
- Mysql导入数据到DLI,快执行完时失败了提示Invoke DLI service api failed错误怎么解决?
- 作业配置添加字段,MongoDB字段映射存在问题
- DLI外表(OBS文件)迁移DWS某字段转义,带有“\”
- 执行Postgresql-to-Hive迁移作业报错“Error occurs during loader run”
- 迁移Mysql到DWS报错“Lost connection to MySQL server during query”怎么处理?
- 迁移MySql到DLI字段类型转换报错For input string:"false"怎么处理?
- 迁移MySql到DWS,TINYINT类型迁移报错
- 数据迁移前后数据量不一致是什么问题?
- 创建源数据连接,一直报错用户名和密码错误,但是实际填的没有错
- 数据库写入OBS场景,表中小驼峰命名字段,提示字段不存在
- CSV数据类型插入MySQL报错invalid utf-8 charater string ''
- 定时任务失败,检查连接器连接存在问题
- 脏数据导致CSV数据类型问题插入MySQL报错
- 写ES报timeout waiting for connection from pool错误怎么解决?
- Oracle迁移到DWS报错ORA-01555
- FTP测试连通性失败,报服务器内部错误怎么解决?
- CDM连接RDS-Mysql ,除root用户外,其他用户都报错,怎么办?
- 通用参考
链接复制成功!
日志提示解析日期格式失败时怎么处理?
问题描述
原因分析
云搜索服务对于时间类型有一个特殊处理:如果存储的时间数据不带时区信息,在Kibana可视化的时候,Kibana会认为该时间为GMT标准时间。
在各个地区会产生日志显示时间与本地时区时间不一致的现象,例如,在东八区某地,日志显示时间比本地时区时间少8个小时。因此在CDM迁移数据到云搜索服务的时候,如果是通过CDM自动创建的索引和类型(例如图2中,目的端的“date_test”和“test1”在云搜索服务中不存在时,CDM会在云搜索服务中自动创建该索引和类型),则CDM默认会将时间类型字段的格式设置为“yyyy-MM-dd HH:mm:ss.SSS Z”的标准格式,例如“2018-01-08 08:08:08.666 +0800”。
此时,从其他数据源导入数据到云搜索服务时,如果源端数据中的日期格式不完全满足标准格式,例如“2018/01/05 15:15:46”,则CDM作业会执行失败,日志提示无法解析日期格式。需要通过CDM配置字段转换器,将日期字段的格式转换为云搜索服务的目的端格式。
解决方案
- 编辑作业,进入作业的字段映射步骤,在源端的时间格式字段后面,选择新建转换器,如图3所示。
- 转换器类型选择“表达式转换”,目前表达式转换支持字符串和日期类型的函数,语法和Java的字符串和时间格式函数非常相似,可以查看表达式转换了解如何编写表达式。
- 本例中源时间格式是“yyyy/MM/dd HH:mm:ss”,要将其转换成“yyyy-MM-dd HH:mm:ss.SSS Z”,需要经过如下几步:
- 添加时区信息“+0800”到原始日期字符串的尾部,对应的表达式为:value+" +0800"。
- 使用原始日期格式来解析字符串,将字符串解析为一个日期对象。可以使用DateUtils.parseDate函数来解析,语法是:DateUtils.parseDate(String value, String format)。
- 将日期对象格式化成目标格式的字符串,可以使用DateUtils.format函数来格式化,语法是DateUtils.format(Date date, String format)。
因此本例中串起来完整的表达式是:DateUtils.format(DateUtils.parseDate(value+" +0800","yyyy/MM/dd HH:mm:ss Z"),"yyyy-MM-dd HH:mm:ss.SSS Z"),如图4所示。
- 保存转换器配置,再保存并运行作业,可解决云搜索服务的解析日期格式失败问题。
父主题: 故障处理类