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

Last edited by 吴一博 Apr 28, 2020
Page history
This is an old version of this page. You can view the most recent version or browse the history.

table_explode

展开子表

如下图的两张表:

tb_team及tb_members

@startuml

' hide the spot
hide circle

entity "tb_team" {
  *id : number <<generated>>
  --
  *name : text
}

entity "tb_members" {
  *id : number <<generated>>
  --
  *team_id : number <<FK>>
  *name : text
}

tb_team  --|{ tb_members

@enduml

例如希望得到如下入表后的结果

tb_team

id name
1 marvel

tb_members

id team_id member_name
1 1 Iron Man
2 1 Spider Man

数据包需要按如下结构组装:

{
    "id": 1,
    "name": "marvel",
    "members": [
        {
            "id": 1,
            "member_name": "Iron Man"
        },
        {
            "id": 2,
            "member_name": "Spider Man"
        }
    ],

    "sync_condition": {
        "data_type": "teams",
        "operation":"upsert",
    }
}

配置文件中,名为teams的data_type定义如下:

catalogues: 
  - data_type: 
      - teams: ['tb_team', "tb_numbers"]
    table_explode: 
      tb_members: 
         explode_field: "members"
         attach_fields": 
           id: "team_id"
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