開發與維運

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

將PostGreSql的JSON類型同步到ODPS裡的String類型,目前的數據集成是不支持,但是可以在字段映射界面用相應的函數做類型轉換。
Q: 用戶的request列是json類型,將其同步到odps的string類型報下面的問題。

image.png

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"
}

對應的嚮導模式界面:

image.png

關於PostGreSql裡的類型轉換可以參考文檔:函數轉換官方文檔

https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-JSON-OP-TABLE

注意:其他的數據庫本身支持相應的函數轉換類型也可以根據上面的方法運用在數據集成裡。

DataWorks百問百答歷史記錄 請點擊這裡查看>>

更多DataWorks技術和產品信息,歡迎加入【DataWorks釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *