通过API接口提交数据导入任务

本文介绍如何通过API接口提交数据导入任务。

提交任务

  • 接口(POST):http://{BDSMaster}:12311/pro/proc/bulkload/create,BDSMaster需要修改为Lindorm实例的Master hostname,可以登录Lindorm实例的LTS,在集群信息页面的基本信息区域获取。获取页面

  • 参数说明:

    参数

    说明

    src

    源数据源名称。

    dst

    目标数据源名称。

    readerConfig

    读插件配置信息,文件类型为JSON,读插件配置示例请参见通用批量导入服务

    writerConfig

    写插件配置信息,文件类型为JSON,写插件配置示例请参见通用批量导入服务

    driverSpec

    Driver的规格,包括small、medium、largexlarge四种规格,推荐配置为large。

    instances

    Executor的数量。

    fileType

    如果源数据源为HDFS,需要填写文件类型为CSV或者Parquet。

    sparkAdditionalParams

    扩展参数可以不填。

  • 示例:

    curl -d "src=hdfs&dst=ld&readerConfig={\"filePath\":\"parquet/\",\"column\":[\"id\",\"intcol\",\"doublecol\",\"stringcol\",\"string1col\",\"decimalcol\"]}&writerConfig={\"columns\":[\"ROW||String\",\"f:intcol||Int\",\"f:doublecol||Double\",\"f:stringcol||String\",\"f:string1col||String\",\"f:decimalcol||Decimal\"],\"namespace\":\"default\",\"lindormTable\":\"bulkload_test\",\"compression\":\"zstd\"}&driverSpec=large&instances=5&fileType=Parquet" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://{LTSMaster}:12311/pro/proc/bulkload/create

    返回内容如下,message为任务ID。

    {"success":"true","message":"proc-91-ff383c616e5242888b398e51359c****"}

获取任务信息

  • 接口(GET):http://{LTSMaster}:12311/pro/proc/{procId}/info,LTSMaster需要修改为Lindorm实例的Master hostname,可以登录Lindorm实例的LTS,在集群信息页面的基本信息区域获取。

  • 参数说明:procId表示任务ID。

  • 示例:

    curl http://{LTSMaster}:12311/pro/proc/proc-91-ff383c616e5242888b398e51359c****/info

    返回内容如下:

    {
        "data":{
            "checkJobs":Array,
            "procId":"proc-91-ff383c616e5242888b398e51359c****",  //任务ID
            "incrJobs":Array,
            "procConfig":Object,
            "stage":"WAIT_FOR_SUCCESS",
            "fullJobs":Array,
            "mergeJobs":Array,
            "srcDS":"hdfs",    //源数据源
            "sinkDS":"ld-uf6el41jkba96****",  //目标数据源
            "state":"RUNNING",   //任务状态
            "schemaJob":Object,   
            "procType":"SPARK_BULKLOAD"   //任务类型
        },
        "success":"true"
    }

终止任务

  • 接口(GET):http://{LTSMaster}:12311/pro/proc/{procId}/abort,LTSMaster需要修改为Lindorm实例的Master hostname,可以登录Lindorm实例的LTS,在集群信息页面的基本信息区域获取。

  • 参数说明:procId表示任务ID。

  • 示例:

    curl http://{LTSMaster}:12311/pro/proc/proc-91-ff383c616e5242888b398e51359c****/abort

    返回内容如下:

    {"success":"true","message":"ok"}

重试任务

  • 接口(GET):http://{LTSMaster}:12311/pro/proc/{procId}/retry,LTSMaster需要修改为Lindorm实例的Master hostname,可以登录Lindorm实例的LTS,在集群信息页面的基本信息区域获取。

  • 参数说明:procId表示任务ID。

  • 示例:

    curl http://{LTSMaster}:12311/pro/proc/proc-91-ff383c616e5242888b398e51359c****/retry

    返回结果如下:

    {"success":"true","message":"ok"}

删除任务

  • 接口(GET):http://{LTSMaster}:12311/pro/proc/{procId}/delete,LTSMaster需要修改为Lindorm实例的Master hostname,可以登录Lindorm实例的LTS,在集群信息页面的基本信息区域获取。

  • 参数说明:procId表示任务ID。

  • 示例:

    curl http://{LTSMaster}:12311/pro/proc/proc-91-ff383c616e5242888b398e51359c****/delete

    返回结果如下:

    {"success":"true","message":"ok"}