• Datax学习指南(五) 进阶datax web


      前面四篇已经介绍了datax的基本概念、如何新增plugins、怎么打包运行。掌握了前面四章的内容,基本就知道datax是干嘛的、设计原理是什么、如何运行,运行结果是怎样的。

      但是,有个问题你们想过没:“Java程序如何集成此工具实现定时或自动同步?”

      怀着这个疑问,终于在github找到了答案--datax web

      项目的介绍是:DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。

      整个实施部署方案文档里面已经介绍的很详细了,如果直接搬过来又有抄袭之嫌。这里就暂时将架构图借来一用。

      这里说下dev分支代码运行出现的几个问题,已提交issue。

      1、数据源创建--目前mongodb数据源创建时测试链接报错。

      分析:mongodb作为nosql数据库,没有关系型数据库经过验证的driver,现有程序并未指定,最终connect返回null

      

      解决:在测试链接方法内新增mongo类型的数据处理。(临时方案,最好还是研究下mongodb的driver及datasource)

        思路就是通过客户端去链接,并能获取到链接的数据库名

      

      2、进行任务构建,选择mongodb直接报错。通过查看代码,属于MongoDBQueryTool工具类的问题。

      

      3、pgsql创建同步任务,在选择schema后根据schema查询下属表时,返回结果会带上schema,根据表名查询表字段就会查询不出任何字段。

       解决:只需对获取到的表名进行简单处理。注意:目前仅pgsql返回schemaName.tableName这种格式,其他类数据库均直接返回tableName

      

       4、数据同步任务执行中,执行结果中包含部分特殊ASCII码,使用JacksonUtil解析时会报“Illegal unquoted character ((CTRL-CHAR, code 26))”错。

    [{\"logId\":1114,\"logDateTim\":1650362257000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect\u001ACover Early [job running, killed]\",\"content\":null}},{\"logId\":1115,\"logDateTim\":1650362258000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect\u001ACover Early [job running, killed]\",\"content\":null}},{\"logId\":1099,\"logDateTim\":1650362242000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect\u001ACover Early [job running, killed]\",\"content\":null}}][{\"logId\":1114,\"logDateTim\":1650362257000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect:Cover Early [job running, killed]\",\"content\":null}},{\"logId\":1115,\"logDateTim\":1650362258000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect:Cover Early [job running, killed]\",\"content\":null}},{\"logId\":1099,\"logDateTim\":1650362242000,\"executeResult\":{\"code\":500,\"msg\":\"block strategy effect:Cover Early [job running, killed]\",\"content\":null}}

      解决:

        

  • 相关阅读:
    C#(64位系统) 解决"未能加载文件或程序集,或它的某一个依赖项..."
    C#匿名方法与Delegate类型转换错误
    记录C#错误日志工具
    C# 引用访问权限,很多老手都不懂
    .NET基础之自定义泛型
    C# Socket学习笔记一
    .Net垃圾收集机制—了解算法与代龄
    审计系统---堡垒机项目之环境准备
    审计系统---堡垒机项目之表结构设计
    审计系统---堡垒机python下ssh的使用
  • 原文地址:https://www.cnblogs.com/JackpotHan/p/16257739.html
Copyright © 2020-2023  润新知