日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SAP HANA數據源

SAP HANA數據源為您提供讀取和寫入SAP HANA雙向通道的功能,本文為您介紹DataWorks的SAP HANA數據同步的能力支持情況。

使用限制

支持的字段類型

SAP HANA Reader針對SAP HANA類型的轉換列表,如下所示。

類型分類

數據源的數據類型

整數類

INT、TINYINT、SMALLINT、MEDIUMINT和BIGINT

浮點類

FLOAT、DOUBLE和DECIMAL

字符串類

VARCHAR、CHAR、TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT

日期時間類

DATE、DATETIME、TIMESTAMP、TIME和YEAR

布爾型

BIT和BOOL

二進制類

TINYBLOB、MEDIUMBLOB、BLOB、LONGBLOB和VARBINARY

重要
  • 除上述羅列字段類型外,其它類型均不支持。

  • SAP HANA Reader插件將tinyint(1)視作整型。

創建數據源

在進行數據同步任務開發時,您需要在DataWorks上創建一個對應的數據源,操作流程請參見創建并管理數據源詳細的配置參數解釋可在配置界面查看對應參數的文案提示

數據同步任務開發

數據同步任務的配置入口和通用配置流程可參見下文的配置指導。

單表離線同步任務配置指導

附錄:腳本Demo與參數說明

離線任務腳本配置方式

如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統一的腳本格式要求,在任務腳本中編寫相應的參數,詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數據源的參數配置詳情。

Reader腳本Demo

  • 配置單庫單表

    {
        "type":"job",
        "version":"2.0",//版本號。
        "steps":[
            {
                "stepType":"saphana",//插件名。
                "parameter":{
                    "column":[//列名。
                        "id"
                    ],
                    "connection":[
                        {   "querySql":["select a,b from join1 c join join2 d on c.id = d.id;"], //使用字符串的形式,將querySql寫在connection中。
                            "datasource":"",//數據源。
                            "table":[//表名,即使只有一張表,也必須以[]的數組形式書寫。
                                "xxx"
                            ]
                        }
                    ],
                    "where":"",//過濾條件。
                    "splitPk":"",//切分鍵。
                    "encoding":"UTF-8"http://編碼格式。
                },
                "name":"Reader",
                "category":"reader"
            },
            {
                "stepType":"stream",
                "parameter":{},
                "name":"Writer",
                "category":"writer"
            }
        ],
        "setting":{
            "errorLimit":{
                "record":"0"http://錯誤記錄數。
            },
            "speed":{
                "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
                "concurrent":1, //作業并發數。
                "mbps":"12"http://限流,此處1mbps = 1MB/s。
            }
        },
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        }
    }
  • 配置分庫分表

    說明

    分庫分表是指在SAP HANA Reader端可以選擇多個SAP HANA數據表,且表結構保持一致。

    {
        "type": "job",
        "version": "1.0",
        "configuration": {
            "reader": {
                "plugin": "saphana",
                "parameter": {
                    "connection": [
                        {
                            "table": [
                                "tbl1",
                                "tbl2",
                                "tbl3"
                            ],
                            "datasource": "datasourceName1"
                        },
                        {
                            "table": [
                                "tbl4",
                                "tbl5",
                                "tbl6"
                            ],
                            "datasource": "datasourceName2"
                        }
                    ],
                    "singleOrMulti": "multi",
                    "splitPk": "db_id",
                    "column": [
                        "id", "name", "age"
                    ],
                    "where": "1 < id and id < 100"
                }
            },
            "writer": {            
            }
        }
    }

Reader腳本參數

參數

描述

username

用戶名。

password

密碼。

column

需要同步的字段名稱。如果需要同步所有列,請使用星號(*)。

說明

當SAP HANA Reader中字段名稱包含斜杠(/),需要使用反斜杠加雙引號(\"your_column_name\")進行轉義,例如,字段名稱為/abc/efg,則轉義后字段名稱為\"/abc/efg\"

table

需要同步的表名。

jdbcUrl

連接HANA的JDBC URL。例如,jdbc:sap://127.0.0.1:30215?currentschema=TEST

splitPk

HANA表中的某個字段作為同步的切分字段,切分字段有助于多并發同步HANA表。

切分字段需要是數值整型的字段,如果沒有該類型,則可以不填。

Writer腳本Demo

腳本配置示例如下所示。

{
    "type":"job",
    "version":"2.0",//版本號。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"saphana",//插件名。
            "parameter":{
                "postSql":[],//導入后的準備語句。
                "datasource":"",//數據源。
                "column":[//列名。
                    "id",
                    "value"
                ],
                "batchSize":1024,//一次性批量提交的記錄數大小。
                "table":"",//表名。
                "preSql":[
                     "delete from XXX;" //導入前的準備語句。
                   ]
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{//錯誤記錄數。
            "record":"0"
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer腳本參數

參數

描述

是否必選

默認值

datasource

數據源名稱,腳本模式支持添加數據源,此配置項填寫的內容必須與添加的數據源名稱保持一致。

table

選取的需要同步的表名稱。

column

目標表需要寫入數據的字段,字段之間用英文所逗號分隔,例如"column": ["id", "name", "age"]

如果要依次寫入全部列,使用星號(*)表示, 例如"column":["*"]

說明

當來源端字段名稱包含斜杠(/),需要使用反斜杠加雙引號(\"your_column_name\")進行轉義,例如,字段名稱為/abc/efg,則轉義后字段名稱為\"/abc/efg\"

preSql

執行數據同步任務之前率先執行的SQL語句。目前向導模式僅允許執行一條SQL語句,腳本模式可以支持多條SQL語句。例如,執行前清空表中的舊數據:

truncate table tablename
說明

當有多條SQL語句時,不支持SQL事務原子性。

postSql

執行數據同步任務之后執行的SQL語句,目前向導模式僅允許執行一條SQL語句,腳本模式可以支持多條SQL語句。例如,加上某一個時間戳:alter table tablenameadd colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

batchSize

一次性批量提交的記錄數大小,該值可以極大減少數據同步系統與數據源的網絡交互次數,并提升整體吞吐量。如果該值設置過大,會導致數據同步運行進程OOM異常。

1024