天天看點

DataWorks百問百答23:PostGreSql裡的列為JSON類型如何同步到ODPS?

将PostGreSql的JSON類型同步到ODPS裡的String類型,目前的資料內建是不支援,但是可以在字段映射界面用相應的函數做類型轉換。

Q: 使用者的request列是json類型,将其同步到odps的string類型報下面的問題。

DataWorks百問百答23:PostGreSql裡的列為JSON類型如何同步到ODPS?
A: 在映射字段進行類型轉換

json_col::json#>>'{}'

裡的json_col是PostGreSql相應的列名:

{
  "configuration": {
    "reader": {
      "plugin": "postgresql",
      "parameter": {
        "datasource": "l_PostGreSql",
        "column": [
          "json_col::json#>>'{}'"
        ],
        "where": "",
        "splitPk": "",
        "table": "public.json_table"
      }
    },
    "writer": {
      "plugin": "stream",
      "parameter": {
        "print": "true"
      }
    },
    "setting": {
      "speed": {
        "concurrent": "1",
        "mbps": "1"
      }
    }
  },
  "type": "job",
  "version": "1.0"
}           

對應的向導模式界面:

DataWorks百問百答23:PostGreSql裡的列為JSON類型如何同步到ODPS?

關于PostGreSql裡的類型轉換可以參考文檔:

函數轉換官方文檔 https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-JSON-OP-TABLE
注意:其他的資料庫本身支援相應的函數轉換類型也可以根據上面的方法運用在資料內建裡。

DataWorks百問百答曆史記錄

請點選這裡檢視>>

更多DataWorks技術和産品資訊,歡迎加入

【DataWorks釘釘交流群】