通过DataWorks导入数据

本文介绍如何通过DataWorks的数据集成功能,将数据从其他产品同步至Lindorm时序引擎。

前提条件

操作步骤

设置白名单

  • 如果您使用公共资源组,则需要将公共资源组使用的IP地址添加至Lindorm白名单中。

    1. 获取DataWorks工作区所在地域的白名单网段。获取地址,请参见获取白名单网段

    2. 将DataWorks工作区所在地域的白名单网段添加至Lindorm白名单。如何添加,请参见设置白名单

  • 如果您使用自己创建的资源组,请根据资源组将对应IP添加至Lindorm白名单。如何添加,请参见设置白名单

创建离线同步任务

  1. 进入DataWorks的数据开发界面。如何进入,请参见进入数据开发

  2. 新建离线同步节点。如何创建,请参见步骤一:新建离线同步节点

  3. 配置同步数据源。以Stream数据源为例,数据来源选择Stream数据去向选择TSDB资源组方案请根据实际业务需求选择。

  4. 单击下一步

配置离线同步任务

  1. 编辑脚本,配置同步任务。

    {
        "type": "job",
        "version": "2.0",
        "steps": [
            {
                "stepType": "stream",
                "parameter":{
                    "column":[
                        {
                            "type":"string",
                            "value":"tag1"
                        },
                        {
                            "type":"string",
                            "value":"tag2"
                        },
                        {
                            "type":"string",
                            "value":"field1"
                        },
                        {
                            "type":"double",
                            "value":10.0
                        },
                        {
                            "type":"long",
                            "value":100
                        },
                        {
                            "type":"bool",
                            "value":true
                        }
                    ],
                    "sliceRecordCount":"100000"
                },
                "name": "Reader",
                "category": "reader"
            },
            {
                "stepType": "tsdb",
                "parameter": {
                    "endpoint": "http://ld-bp12pc23yfb3*****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242",
                    "sourceDbType": "RDB",
                    "batchSize": 256,
                    "columnType": [
                        "tag",
                        "tag",
                        "field_string",
                        "field_double",
                        "timestamp",
                        "field_bool"
                    ],
                    "column": [
                        "tag1",
                        "tag2",
                        "field1",
                        "field2",
                        "timestamp",
                        "field3"
                    ],
                    "multiField":"true",
                    "table":"testmetric",
                    "username":"testuser",
                    "password":"password",
                    "ignoreWriteError":"false",
                    "database":"default"
                },
                "name": "Writer",
                "category": "writer"
            },
            {
                "name": "Processor",
                "stepType": null,
                "category": "processor",
                "parameter": {}
            }
        ],
        "setting": {
            "executeMode": null,
            "errorLimit": {
                "record": ""
            },
            "speed": {
                "concurrent": 2,
                "throttle": false
            }
        },
        "order": {
            "hops": [
                {
                    "from": "Reader",
                    "to": "Writer"
                }
            ]
        }
    }

    Reader参数说明

    参数

    是否必选

    类型

    默认值

    说明

    column

    STRING

    表中需要同步的列名集合。

    Writer参数说明

    参数

    是否必选

    类型

    默认值

    说明

    endpoint

    STRING

    Lindorm时序引擎的HTTP连接地址。如何获取,请参见查看连接地址

    sourceDbType

    STRING

    TSDB

    源端数据的类型。目前仅支持TSDB和RDB两个取值。

    batchSize

    INT

    100

    批量添加数据的条数。取值范围大于0。

    multiField

    BOOL

    false

    是否使用HTTP API多值方式写入。取值如下:

    • true:使用HTTP API多值方式写入数据。

    • false:使用单值方式写入数据。

    columnType

    sourceDbType为RDB时必选

    STRING

    关系型数据库中表字段,映射到时序引擎中的类型。支持的类型如下:

    • timestamp:该字段是个时间戳。

    • tag:该字段是个tag。

    • metric_num:该metric的value数值类型。

    • metric_string:该metric的value是字符串类型。

    column

    sourceDbType为RDB时必选

    STRING

    表中需要同步的列名集合。

    username

    STRING

    数据库用户名。

    password

    STRING

    数据库密码。

    ignoreWriteError

    BOOL

    false

    忽略写入错误。取值如下:

    • true:忽略写入错误,继续写入数据。

    • false:出现写入错误时终止写入。

    database

    STRING

    default

    导入TSDB的数据库名。

  2. 配置调度属性。如何配置,请参见步骤五:配置调度属性

数据同步

单击运行图标运行数据同步任务检查配置是否正确,并提交发布任务。具体操作及介绍,请参见发布任务