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

简介: 脚本模式组件采用的是配置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

目录
相关文章
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
520 0
|
人工智能 网络协议 Java
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
RuoYi AI 是一个全栈式 AI 开发平台,支持本地 RAG 方案,集成多种大语言模型和多媒体功能,适合企业和个人开发者快速搭建个性化 AI 应用。
3101 77
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
|
10月前
|
人工智能 安全 数据库
构建可扩展的 AI 应用:LangChain 与 MCP 服务的集成模式
本文以LangChain和文件系统服务器为例,详细介绍了MCP的配置、工具创建及调用流程,展现了其“即插即用”的模块化优势,为构建复杂AI应用提供了强大支持。
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1124 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
10月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
865 0
|
12月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
DataWorks Oracle 关系型数据库
DataWorks产品使用合集之手动添加上了,但是同步过来的数据这个字段依然显示为空,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
267 3
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
1628 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
缓存 负载均衡 Java
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
文章标题为“OpenFeign的Ribbon负载均衡详解”,是继OpenFeign十大可扩展组件讨论之后,深入探讨了Ribbon如何为OpenFeign提供负载均衡能力的详解。
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
|
移动开发 数据可视化 小程序
可视化集成相当优秀ucharts图表组件
可视化集成相当优秀ucharts图表组件
295 4