数据集成模块中如何配置脚本模式输入组件

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 脚本模式组件采用的是配置json的方式配置同步任务。当表单模式透出的配置参数无法支持同步场景诉求时或配置项比较复杂,目前dataphin自定义组件UI不支持时,可采用脚本模式输入组件进行配置。本文将介绍如何同步Mysql 多表join的结果数据作为示例,其余场景均可参照此例的配置。

作者:终古


1 组件简介

脚本模式组件采用的是配置json的方式配置同步任务。

主要使用场景:

  • 当表单模式透出的配置参数无法支持同步场景诉求:
  • 比如mysql等数据库输入组件读取多表join等任何复杂sql的结果
  • 比如读取一些数据库的元数据表
  • 比如某些组件需要一些额外的配置
  • 比如表、字段存在关键字,表单模式组件无法处理
  • 配置项比较复杂,目前dataphin自定义组件UI不支持时

本文将介绍如何同步Mysql 多表join的结果数据作为示例,其余场景均可参照此例的配置。

2 组件配置介绍

51.png

如上图所以,依次操作选择数据源类型、数据源、生成同步配置文件

  • 数据源类型

dataphin离线数据集成支持的数据源以及自定义数据源

  • 数据源实例

相应的数据源实例

  • 生成同步配置文件

会根据所选的数据源类型生成配置json的模板,可根据自己的业务需求删减配置项、修改配置项的值

  • 模版配置说明

主要有三部分组成: table、column、parameter

{
    "table":"tableName",
    "column":[
        {
            "name":"",
            "type":""
        }
    ],
    "parameter":{
    }
}


  • table

配置输入表,多表情况可以只写一个表

  • column

作为输入表的输入字段,为了能让其下游组件后去输入字段及类型,所以要求字段对象至少具备 name 和 type 两个值,有些输入组件可能需要字段在字段列表中的索引位置 index。

  • parameter

同步配置相关的参数,数据源不通配置不同

3 组件使用

本节,将介绍同步mysql(所有rdbms数据库都支持) 多表join的结果数据至odps。

join sql:

select a.id, b.name
from sff_id_name a
         join sff_id_name_1 b on a.id = b.id


3.1 rdbms数据库-querySql

52.png

  • 配置内容:
{
    "table": "sff_id_name",
    "parameter": {
        "connection": [
            {
                "querySql": [
                    "select a.id, b.name from sff_id_name a join sff_id_name_1 b on a.id = b.id"
                ]
            }
        ]
    },
    "column": [
        {
            "name": "id",
            "type": "Long"
        },
        {
            "name": "name",
            "type": "String"
        }
    ]
}


配置如上图所以,对于使用复杂的sql,则需要使用querySql配置项,该配置项是个字符串数组,即支持多个结构一致的select语句。且该配置项必须嵌套在connection中,可以看到connection也是个数组,也说明了是支持多个connection,即多个数据库连接。

  • 预览结果:

53.png

3.2 rdbms数据库-connection

如上所述,支持多个数据库连接,比如我有一张表,分布在多个数据库下,想一次性读取,那使用这种方式也是可以的。但前提是多个数据库连接的用户名、密码相同。

{
    "table": "sff_id_name",
    "parameter": {
        "connection": [
            {
                "querySql": [
                    "select a.id, b.name from sff_id_name a join sff_id_name_1 b on a.id = b.id"
                ]
            },
            {
                "jdbcUrl": [
                    "jdbc:mysql://xxxxxxxxxx.mysql.rds.aliyuncs.com:3306/dataphin"
                ],
                "querySql": [
                    "select id,name from sff_id_name"
                ]
            }
        ]
    },
    "column": [
        {
            "name": "id",
            "type": "Long"
        },
        {
            "name": "name",
            "type": "String"
        }
    ]
}


如上所示,多个数据库连接,第一个可以不配置jdbcUrl,这个会使用数据源配置的url,第二个开始便需要配置jdbcUrl,每个连接配置自己的querySql,但一定要保持select 字段名称、顺序、类型一致。

当然,多connection既支持querySql也支持直接配置表,直接使用"table":["tab1","tab"2]即可。注意querySql和table不能同时配置,只能选择一种

4 总结

脚本模式输入输出组件比较强大、灵活。使用的前提是对json的配置比较了解,尤其是了解每个数据源的配置项格式。

也就是说,每个数据源其实有很多配置项,这些配置项有的是用于性能,有的是用于业务,这些配置可以参见脚本模式输入输出组件的右上角的"组件说明"。这里也介绍了组件的脚本模式配置模板及常见配置参数

54.png

目录
相关文章
|
4月前
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
100 5
|
6月前
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
218 0
|
6月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
612 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
6月前
|
人工智能 网络协议 Java
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
RuoYi AI 是一个全栈式 AI 开发平台,支持本地 RAG 方案,集成多种大语言模型和多媒体功能,适合企业和个人开发者快速搭建个性化 AI 应用。
1515 77
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
|
7月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
356 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
4月前
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
1132 4
|
5月前
|
缓存 前端开发 API
(网页系统集成CAD功能)在线CAD中配置属性的使用教程
本文介绍了Mxcad SDK在线预览和编辑CAD图纸的功能及配置方法。通过Vite、CDN或Webpack实现集成,用户可自定义设置以满足项目需求。主要内容包括:1)`createMxCad()`方法的初始属性配置,如画布ID、WASM文件路径、字体加载路径等;2)`MxFun.setIniset()`方法提供的更多CAD初始配置;3)`McObject`对象API用于动态调整视图背景色、浏览模式等。此外,还提供了在线Demo(https://demo2.mxdraw3d.com:3000/mxcad/)供用户测试实时效果。
|
7月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
2572 14
|
8月前
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
571 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
6月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
742 0

热门文章

最新文章