配置PostgreSQL输入组件

PostgreSQL输入组件用于读取PostgreSQL数据源的数据。同步PostgreSQL数据源的数据至其他数据源的场景中,您需要先配置PostgreSQL输入组件读取的源数据源,再配置数据同步的目标数据源。本文为您介绍如何配置PostgreSQL输入组件。

前提条件

操作步骤

  1. 请参见离线管道组件开发入口,进入离线单条管道脚本的开发页面。

  2. 按照以下操作指引,进入PostgreSQL输入配置对话框。

    单击组件库->单击输入->拖动PostgreSQL输入组件至画布->单击image配置图标。

    image

  3. PostgreSQL输入配置对话框,配置参数。

    参数

    说明

    步骤名称

    即PostgreSQL输入组件的名称。Dataphin自动生成步骤名称,您也可以根据业务场景修改。命名规则如下:

    • 只能包含汉字、字母、下划线(_)、数字。

    • 不能超过64个字符。

    数据源

    在数据源下拉列表中,展示所有PostgreSQL类型的数据源,包括您已拥有同步读权限的数据源和没有同步读权限的数据源。

    • 对于您没有同步读权限的数据源,您可以单击数据源后的申请,申请对应数据源的读取权限。申请数据源读取权限的具体操作,请参见申请、续期和交还数据源权限

    • 如果您还没有PostgreSQL类型的数据源,单击新建,创建数据源。具体操作,请参见创建PostgreSQL数据源

    来源表量

    选择来源表量。来源表量包括单表多表

    • 单表:适用于将一个表的业务数据同步至一个目标表的场景。

    • 多表:适用于将多个表的业务数据同步至同一个目标表的场景。多个表的数据写入同一个数据表时,使用union算法。

      更多union说明,请参见交集(INTERSECT)、并集(UNION)和补集(EXCEPT)

    选择来源表:

    • 如果来源表量选择了单表,则单击geg图标,选择输入的

      说明

      没有匹配项时,也支持根据手动输入的表名进行集成。

    • 如果来源表选择了多表,则执行以下操作,添加表:

      1. 在输入框中,输入表的表达式,筛选具有相同结构的表

        系统支持枚举形式、类正则形式及两者混合形式,例如table_[001-100];table_102

      2. 单击gega图标。

      3. 确认匹配详情对话框中,选择匹配的表。

      4. 单击确认

    切分建

    系统根据配置的切分键字段进行数据分片,可以配合并发度配置使用,实现并发读取。支持将源数据表中某一列作为切分键。此外,建议使用主键或有索引的列作为切分键以保证传输性能。

    重要

    选择日期时间类型时,系统会通过识别最大最小值方式,根据总时间范围和并发度进行暴力切分,不保证平均

    批量读取条数

    一次性读取数据的条数。在从源数据库读取数据时,可以配置一个特定的批量读取条数(如1024条记录),而不是一条一条地读取,以减少与数据源之间的交互次数,提高I/O效率,并降低网络延迟。

    输入过滤

    填写输入字段的过滤信息,例如ds=${bizdate}输入过滤适用于以下两种场景:

    • 固定的某一部分数据。

    • 参数过滤。

    输出字段

    输出字段区域展示了已选中表及筛选条件命中的所有字段。支持进行以下操作:

    • 字段管理:如果不需要将某些字段输出至下游组件,则您可以删除对应的字段:

      • 单个删除字段场景:如果需要删除少量的字段,则可以单击操作列下的sgaga图标,删除多余的字段。

        image

      • 批量删除字段场景:如果需要删除大批量字段,则可以单击字段管理,在字段管理对话框选择多个字段后,单击image左移动图标,将已选的输入字段移入到未选的输入字段并单击确定,完成字段的批量删除。

        image..png

    • 批量添加:单击批量添加,支持JSON、TEXT格式、DDL格式批量配置

      • 以JSON格式批量配置,例如:

        // 示例:
          [{
             "index": 0,
             "name": "id",
             "type": "int(10)",
             "mapType": "Long",
             "comment": "comment1"
           },
           {
             "index": 1,
             "name": "user_name",
             "type": "varchar(255)",
             "mapType": "String",
             "comment": "comment2"
         }]
        说明

        index表示指定对象的列编号,name表示引入后的字段名称,type表示引入后的字段类型。 例如,"index":3,"name":"user_id","type":"String"表示把文件中的第4列引入,字段名为user_id,字段类型为String。

      • 以TEXT格式批量配置,例如:

        // 示例:
        0,id,int(10),Long,comment1
        1,user_name,varchar(255),Long,comment2
        • 行分隔符用于分隔每个字段的信息,默认为换行符(\n),可支持换行符(\n)、分号(;)、点(.)。

        • 列分隔符用于分隔字段名与字段类型,默认英文逗号(,)。

      • 以DDL格式批量配置,例如:

        CREATE TABLE tablename (
        	user_id serial,
        	username VARCHAR(50),
        	password VARCHAR(50),
        	email VARCHAR (255),
        	created_on TIMESTAMP,
        );
    • 新建输出字段:单击+新建输出字段,根据页面提示填写来源序号字段类型映射类型备注

  4. 单击确认,完成PostgreSQL输入组件的属性配置。