描述
資料來源資訊
樣本
{
"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 | 過濾條件目前支援的條件有<, >, =, !=, >=, <=,多個條件用’,’分隔 |