反馈已提交

网络繁忙

读取、创建、写入分区表

  • 文档创建者:Wendy123456
  • 历史版本:15
  • 最近更新:Roxy 于 2024-08-29
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变动
    4.1.3
    • 数据写入Hive、星环 TRANSWARP INCEPTOR数据库时,支持创建、写入分区

    • 支持读取 PostgreSQL 数据库的分区表

    4.1.9.3
    • 定时任务和数据服务支持选择 PostgreSQL、Greenplum、Gauss200 的分区表作为数据来源或数据去向

    • 定时任务和管道任务自动建表支持指定分区键(PostgreSQL、Greenplum、Gauss200 )和分布键(Greenplum、Gauss200)

    4.1.11.2

    YMatrix 数据库:

    • 「定时任务」支持选择分区表作为「数据来源」和「数据去向」

    • 「数据服务」支持选择分区表作为「数据来源」

    • 「定时任务」和「管道任务」「自动建表」支持指定分区

    • 「定时任务」和「管道任务」「自动建表」支持指定分布键

    4.1.11.3

    PolarDB PostgreSQL 数据库

    • 「定时任务」支持选择分区表作为「数据来源」和「数据去向」

    • 「数据服务」支持选择分区表作为「数据来源」

    • 「定时任务」和「管道任务」「自动建表」支持指定分区

    4.1.11.4

    MaxCompute「定时任务」「自动建表」支持「分区键设置」

    当选择的目标表是分区表(包含分区键),或自动建表时定义了分区键,写入方式新增「分区写入」设置项

    1.2 应用场景

    大数据量的数据存储场景下,为提高查询性能,许多数据库都提供了分区表的功能,希望 FDL 可以读取、创建、写入分区表。

    1.3 功能简介

    部分数据库支持选择分区表作为「数据来源」和「数据去向」、自动建表支持设置分区键和分布键。

    1.4 约束限制

    不支持多级分区,仅支持一级分区。

    2. 读取分区表数据

    支持位置支持数据源
    定时任务PostgreSQL、Greenplum、Gauss200、YMatrix、PolarDB PostgreSQL 
    数据服务PostgreSQL、Greenplum、Gauss200、YMatrix、PolarDB PostgreSQL 

    定时任务和数据服务支持读取数据源的分区表,如下图所示:

    3. 写入数据到已存在的分区表

    支持位置
    支持数据源
    定时任务

    PostgreSQL(4.1.9.3 及之后版本支持)Greenplum4.1.9.3 及之后版本支持、Gauss2004.1.9.3 及之后版本支持

    YMatrix (4.1.11.2 及之后版本支持)

    PolarDB PostgreSQL(4.1.11.3 及之后版本支持)

    管道任务

    定时任务和管道任务支持选择目标表是分区表,如下图所示:

    4. 自动建表支持分区键设置

    支持位置支持数据源
    定时任务Hive4.1.3 及之后版本星环 TRANSWARP INCEPTOR4.1.3 及之后版本)、MaxCompute(4.1.11.4以及之后版本)、PostgreSQL(4.1.9.3 及之后版本)、Greenplum(4.1.9.3 及之后版本)、Gauss200(4.1.9.3 及之后版本)YMatrix(4.1.11.2 及之后版本)PolarDB PostgreSQL(4.1.11.3 及之后版本)
    管道任务PostgreSQL(4.1.9.3 及之后版本)、Greenplum(4.1.9.3 及之后版本)、Gauss200(4.1.9.3 及之后版本)YMatrix(4.1.11.2 及之后版本)PolarDB PostgreSQL(4.1.11.3 及之后版本)

    数据写入数据库时,若选择「自动建表」可选取目标表里的某些字段作为分区键。如下图所示:

    配置项
    说明
    分区方式

    选择分区方式:

    • 范围分区(RANGE)

    • 列表分区(LIST)

    • 哈希分区(HASH)(11.x以上版本显示此配置)

    分区字段

    选择映射已有字段作为分区字段。

    范围分区&哈希分区:支持选择一个或多个字段作为分区字段。

    列表分区:仅支持选择一个字段作为分区字段。

    分区配置

    选择分区方式后,可以添加多个分区,每个分区的配置如下:

    范围分区

    • 分区名称(文本框)

    • 分区起始值(包含)(框/数值框/日期框)

    • 分区结束值(不包含)(文本框/数值框/日期框)

    列表分区

    • 分区名称(文本框)

    • 取值列表(可以添加多个值,可以自行添加和删除值)

    哈希分区(11.x以上版本支持):

    • 分区名称(文本框)

    • 模数(数值框)

    • 余数(数值框)

    11.x 以上版本,支持在范围分区和列表分区内,添加默认分区,用于存放不匹配任何分区的数据,仅允许添加一个默认分区。

    分区键设置说明:

    1)分区存在层级的关系,基于顺序,自动形成层级,第 1 个分区键为一级分区,第 2 个分区键为二级分区,以此类推,最多 8 级分区。

    2)分区字段本质上并非表里的字段,而是存储目录,因此建表时只能放到最后,不能和表里的字段穿插;因此若某个字段被定义为分区字段,其在字段映射里应该处于末尾。

    分区方式和分区字段个数支持情况:

    数据库
    范围分区列表分区哈希分区
    PostgreSQL&PolarDB PostgreSQL10.x以上|N个字段10.x以上|1个字段11.x以上|N个字段
    Greenplum&YMatrix5.x以上|1个字段5.x以上|1个字段7.x以上|1个字段
    Gauss200N个字段N个字段(介于时只能指定1个字段)不支持

    5. 自动建表支持指定分布键

    支持位置支持数据源
    定时任务GaussDB 200、Greenplum、YMatrix
    管道任务

    定时任务和管道任务目标表配置为「自动建表」时,增加相关配置,支持指定哈希分布键。

    注:目前哈希分布下支持指定分布键,暂不支持随机分布和复制分布。

    分布键可以不配置,不配置分布键时,将走数据库默认逻辑指定分布键(默认是使用主键或者表的第一个列作为分布键),如下图所示:

    6. 写入方式支持分区写入

    数据同步节点、数据转换>DB表输出算子中:

    数据写入 Hive、星环 TRANSWARP INCEPTOR 、MaxComput数据库时,当选择的目标表是分区表(包含分区键),或自动建表时定义了分区键,写入方式新增「分区写入」设置项。如下图所示:


    分区级别、分区键均为自动获取,无法自定义;用户可配置写入方式、分区值。

    • 写入方式:可选择静态分区、动态分区。注:MaxCompute仅支持静态分区。

    • 分区值:静态分区写入时,需要为分区键配置分区值。

    7. 附录

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持