Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
project-collie
project-collie
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • granite
  • project-collieproject-collie
  • Wiki
    • Udms
    • Sync_mysql_new
  • table_explode

table_explode · Changes

Page history
覆盖更新的说明 authored Apr 26, 2020 by 吴一博's avatar 吴一博
Hide whitespace changes
Inline Side-by-side
Showing with 33 additions and 10 deletions
+33 -10
  • udms/sync_mysql_new/table_explode.md udms/sync_mysql_new/table_explode.md +33 -10
  • No files found.
udms/sync_mysql_new/table_explode.md
View page @ 30beddd7
## 展开子表
如下图的两张表:
该功能用于处理一对多关系的数据。这种数据通常被设计为存储在两个关联的表中。
主表用于存储基本信息,关联表用于存储详情。主表与关联表为一对多关系。
如下图的所展示的。记录了团队(team)及其成员(member)。
![tb_team及tb_members](table_explode_er.png)
......@@ -72,11 +73,33 @@ tb_members
```yaml
catalogues:
- data_type:
- teams: ['tb_team', "tb_numbers"]
table_explode:
tb_members:
explode_field: "members"
attach_fields":
id: "team_id"
```
\ No newline at end of file
- data_type: #(1)
- name: "teams" #(2)
tables: ['tb_team', "tb_members"]
table_explode: #(3)
- table: "tb_members" #(4)
explode_field: "members" #(5)
attach_fields: #(6)
- field: "team_id"
refer: "id"
overwrite: #(7)
foreign_keys: #(8)
- field: "team_id"
refer: "id"
logical_delete: True #(9)
deleted_field: "deleted"
deleted_field_value: 1,
#(1) data_type为列表类型,在一个catalog下可以定义多个data_type
#(2) 名为teams的data_type涉及两个表:tb_team及tb_members,
#(3) 定义哪些表的数据是从输入数据的特定字段展开得到的。 table_explode是列表类型。
#(4) 表tb_members需要根据输入数据中的字段 members,进行展开
#(6) 在展开的数据中,要加上字段team_id,该字段的值为输入数据中字段id的值
#(7) 使用覆盖方式更新
#(8) 以team_id字段tb_members选择要覆盖的数据,该字段的值为输入数据中字段id的值
#(9) 执行逻辑删除。删除标志字段为 deleted, 其值为1表示删除
```
Clone repository
  • README
  • data_pump
    • data_pump
    • filters
    • filters
      • bloom
    • readers
    • readers
      • file
      • kafka
      • mongodb
      • sql
    • writers
    • writers
      • file
  • dev_guide
  • dev_manual
  • Home
  • ops
    • ansible
View All Pages