读取、创建、写入分区表

  • 产品级协助
  • 文档创建者:Wendy123456
  • 历史版本:16
  • 最近更新:Wendy123456 于 2025-03-14
  • 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「定时任务」「自动建表」支持「分区键设置」

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

    4.2.0.2

    支持读取 Impala 数据库的 kudu 分区

    支持写入 Impala 数据库的 kudu 分区

    1.2 应用场景

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

    1.3 功能简介

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

    1.4 约束限制

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

    2. 读取分区表数据

    支持位置支持数据源
    定时任务PostgreSQL、Greenplum、Gauss200、YMatrix、PolarDB PostgreSQL、 Impala 数据库的 kudu 分区
    数据服务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 及之后版本支持) Impala 数据库的 kudu 分区表(4.2.0.2 及之后版本支持

    管道任务

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

    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 及之后版本)、 Impala 数据库的 kudu 分区表4.2.0.2 及之后版本支持
    管道任务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 及之后版本)、 Impala 数据库的 kudu 分区表4.2.0.2 及之后版本支持

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

    配置项
    说明
    分区方式

    选择分区方式:

    • 范围分区(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. 附录

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

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

    反馈已提交

    网络繁忙