描述
數據源信息
示例
{
"tableName": "news",
"type": "rds",
"fields": [
{
"id": "id"
},
{
"caption": "caption"
},
{
"content": "content"
},
{
"categoryId": "category_id"
}
],
"plugins": {
"caption": {
"name": "HTMLTagRemover",
"parameters": {}
},
"content": {
"name": "HTMLTagRemover",
"parameters": {}
}
},
"keyField": "id",
"parameters": {
"filter": "",
"instanceId": "rm-abc",
"dbName": "my_db",
"dbTableName": "my_table",
"dbUser": "my_user",
"dbPassword": "my-password",
"autoSync": true
}
}
結構
字段 | 類型 | 描述 |
tableName | String | 表名 |
type | String | 數據源類型- rds- odps- opensearch-polardb |
fields[] | Object | 表字段映射信息{key:value},key:數據源表字段,value:應用表字段。 |
plugins | Object | 字段數據處理插件 |
plugins.* | Object | 插件詳情,具體說明查看下文Plugin*:字段名 |
keyField | String | 主鍵 |
parameters | Object | 數據源信息不同數據源的配置信息各不相同,具體說明查看相關下文: - rds - odps - polardb |
Plugin
示例
{
"name": "HTMLTagRemover",
"parameters": {}
}
結構
字段 | 類型 | 描述 |
name | String | 插件名稱- JsonKeyValueExtractor- MultiValueSpliter- KeyValueExtractor- StringCatenateExtractor- HTMLTagRemover |
parameters | Object | 插件參數不同插件的參數各不相同,具體說明查看相關下文: |
JsonKeyValueExtractor
從JSON格式的來源字段中提取指定的鍵值,提取出來的鍵值作為目標表字段的內容,只能抽取某個key中的值。示例
{
"key": "my_field"
}
結構
字段 | 類型 | 描述 |
key | String | 鍵名 |
MultiValueSpliter
將來源字段按照分隔符分割成多個值,分割后的內容作為目標表字段的內容,目標表字段必須是配置為ARRAY類型的字段(若分隔符為不可見字符,需要使用unicode字符來標識,如\u001D)。示例
{
"seperator": "|"
}
結構
字段 | 類型 | 描述 |
seperator | String | 分隔符 |
KeyValueExtractor
從KV格式的來源字段中提取指定的鍵值,提取出來的鍵值作為目標表字段的內容,只能抽取某個key中的值。分隔符可以不填。示例
{
"key": "my_field",
"fieldSep": ";",
"kvSep": ":"
}
結構
字段 | 類型 | 描述 |
key | String | 鍵 |
fieldSep | String | 鍵分隔符 |
kvSep | String | 鍵值分隔符 |
StringCatenateExtractor
將多個指定字段按照指定的順序拼接成一個字符串,該插件不支持int字段類型,建議用literal字段類型;字段列表以逗號分隔(字段需來自于目標字段)。示例
{
"connector": "-",
"sources": "id,title"
}
結構
字段 | 類型 | 描述 |
connector | String | 連接符 |
sources | String | 指定的多個字段 |
HTMLTagRemover
剔除來源字段中的HTML標簽,剔除標簽后的內容復制到當前字段,源字段配置為當前字段則做內容替換。注:此插件不需要額外參數。
rds
示例
{
"instanceId": "rds-instance-id",
"dbName": "my_db",
"dbTableName": "my_table",
"dbUser": "my",
"dbPassword": "my_passwd",
"filter":"",
"autoSync": true
}
結構
字段 | 類型 | 描述 |
instanceId | String | 實例ID |
dbName | String | 數據庫名 |
dbTableName | String | 數據庫表名 |
dbUser | String | 數據庫賬號 |
dbPassword | String | 數據庫賬號密碼 |
filter | String | 過濾條件目前支持的條件有<, >, =, !=, >=, <=,多個條件用’,’分隔 |
autoSync | Boolean | 是否數據自動同步- true 是- false 否 |
odps
示例
{
"projectName": "my_project",
"tableName": "my_table",
"partition": "",
"done": "no",
"donePrefix": "",
"timestamp":""
}
結構
字段 | 類型 | 描述 |
projectName | String | 項目名稱 |
tableName | String | 表名 |
partition | String | 分區信息參考:ODPS數據源配置 |
done | String | 是否使用done文件- no- yes |
donePrefix | String | done文件前綴注:當done=”yes”時必填 |
timestamp | String | 全量數據的時間戳 |
opensearch
示例
{
"appId": "12345678",
"tableName": "my_table",
"appType": "standard",
"filter": ""
}
結構
字段 | 類型 | 描述 |
appId | String | 應用ID |
tableName | String | 應用表名 |
appType | String | 應用類型- standard 標準版- advance 老高級版(新應用不支持此類型)- enhanced 新高級版 |
filter | String | 過濾條件目前支持的條件有<, >, =, !=, >=, <=,多個條件用’,’分隔 |
polardb
示例
{
"clusterId": "my_cluster_id",
"dbName": "my_db",
"dbTableName": "my_table",
"aliyunUserId":"123455789",
"dbUser":"my_user",
"dbPassword":"my_passwd",
"autoSync":true,
"filter": "id>100"
}
結構
字段 | 類型 | 描述 |
clusterId | String | 集群ID |
dbName | String | 數據庫名 |
dbTableName | String | 數據表名 |
aliyunUserId | String | 阿里云用戶ID |
dbUser | String | 數據庫賬號 |
dbPassword | String | 數據庫賬號密碼 |
autoSync | Boolean | 是否數據自動同步- true 是- false 否 |
filter | String | 過濾條件目前支持的條件有<, >, =, !=, >=, <=,多個條件用’,’分隔 |