You need to enable JavaScript to run this app.
导航
3.3.14 RestAPI-Hive
最近更新时间:2023.02.14 15:07:39首次发布时间:2023.02.14 14:54:40
我的收藏
有用
有用
无用
无用

使用场景

本文将 RestAPI 中的数据通过数据集成离线任务的方式,导入到 Hive 数据表中,供后续离线分析使用。您可参考本文来完成 RestAPI-Hive 通道任务的新建、参数配置等操作。

使用前提

已完成 RestAPI 数据源新建操作。详见 RestAPI数据源注册

新建任务

  1. 登录 DataLeap 控制台。

  2. 单击右侧快速入口 > 数据开发按钮,进入到数据开发界面。

  3. 在左侧目录树中,单击“新建任务”。

  4. 选择离线数据 > 离线集成任务类型。

  5. 并完成以下任务基本信息配置:

    1. 任务名称:输入任务名称,只允许字符.、字母、数字、下划线、[]、【】、()、()以及中文字符。

    2. 保存至:选择任务存放的目标文件夹位置。

  6. 单击确定按钮,完成任务新建。

任务配置

任务新建完成后,进入到任务配置界面,完成以下参数配置:

数据来源配置

完成以下数据来源端的配置:

参数项说明
数据源类型REST_API
数据源名称选择在数据源管理中,注册成功的 REST_API 数据源,下拉列表中选择。
请求 Method请求方法支持 GET 和 POST,两种方式。

请求参数

输入传递给 API 的请求参数信息:

  • GET方法:abc=123&def=456

  • POST方法:{"abc":123,"def":456}

返回数据结构接口返回数据的类型,返回一条数据或者一组数据。
数据格式支持 json 的格式。
数据存储json单条或者数组数据存储的json路径,可为$(表示保存在根路径),或者类似 aa.bb.cc 的格式。
预览数据预览展示 API 中的数据情况。

请求次数

选择reader端是单次请求或者多次请求,多次请求需要配置参数,多次请求时,需添加以下对应参数:

  • 多次请求对应参数:例如如pagenumber,第一次请求对应pagernumber=0,步长+1,最后一次pagenumber=100。

  • StartIndex:多次请求的起点, 大于等于 0 , 区间左包含。

  • Step:多次请求步长, 大于等于1。

  • EndIndex:多次请求的终点, 大于等于 startIndex + step , 区间右包含。

目标信息配置

完成以下数据去向的目标数据源信息配置:

参数项说明
目标类型数据去向目标类型选择 Hive。
数据库下拉选择 Hive 下对应的数据库名称。
数据表对应 Hive数据库下已创建的 Hive 表,下拉可选。或单击快速建表, 便可前往数据地图进行 Hive 表创建。

分区设置

  • 分区字段从 Hive 表自动获取。

  • 分区内容可设置具体时间分区粒度,可以用表达式:${date}、 ${hour}等参数变量表示。

字段映射

设置字段映射关系,您可进行以下操作:

  • 单击自动添加按钮,可以自动填充目标的字段信息。

  • 单击手动添加按钮,可以手动编辑源和目标的字段信息。

  • 可以根据需要移动字段顺序或删除字段。

任务运行参数配置

您可选择是否开启高级参数设置,进行并发、数据清洗、自定义参数设置等高级参数的配置,详见高级参数设置
您可根据实际需要,设定相应的任务自定义参数,RestAPI 自定义参数列表参考:

参数默认值备注
job.reader.poll_interval_mills1000单位 ms,API 请求间隔。
job.reader.retry3获取数据时连接失败的重试次数

job.reader.retry_backoff_multiplier_ms

100

重试时间是斐波那契数列,重试间隔的倍数,
例如:1*100,2*100,3*100,5*100

job.reader.retry_backoff_max_ms10000单位 ms,重试间隔最多10s
job.reader.connenct_timeout10000单位 ms,http请求超时时间10s

调度设置

任务参数配置完成后,您可进行数据集成同步任务的调度设置,使任务在生产环境中,能周期性的调度执行。详见调度设置

使用案例

数据准备

  1. RestAPI 数据源准备

  2. 目标端 Hive 表准备

    CREATE TABLE `dataleap_xxxxx_test`.`restapi_no_auth_test`(
        `map` map < string,string > COMMENT ' ',
        `float` float COMMENT ' ',
        `date_info` date COMMENT ' ',
        `string` string COMMENT ' ',
        `double` double COMMENT ' ',
        `int` int COMMENT ' ',
        `boolean` boolean COMMENT ' ',
        `long` bigint COMMENT ' '
    ) PARTITIONED BY (`date` string COMMENT ' ')
    

数据源注册

新增数据源,完成 数据源名称、API url、默认请求头、鉴权方式等信息配置,详见 RestAPI数据源注册

  1. API url:http://xxx.xxx.x.xxx:5000/basic/post

  2. 默认请求头:{"Authorization":"xxxxx-token-1"}

  3. 鉴权方式:根据 API 开通的鉴权方式进行选择,此示例中选择 no auth

案例配置

  1. 请求Method:需和数据源中 API Url 中访问方式对应,此处选择为:POST。

  2. 请求参数:将请求参数以对应的格式填入,此处请求参数为:

    {
    "index":"1",
    "pageSize":"10",
    "isArray":"True"
    }
    
  3. 返回数据结构:根据请求参数,选择接口返回的数据类型,此处选择返回“数组数据”。

  4. 数据存储 json 路径:接口返回内容中,字段之间的层次关系,可用aa.bb.cc的形式表示。非必填。

  5. 预览数据:在以上信息配置完成后,您可单击自动获取刷新按钮,即可预览 API 下的数据。

  6. 请求次数:选择读取数据的请求次数,选择多次请求时,需填写以下参数:

    1. 多次请求的对应参数,例如输入:pageSize

    2. StartIndex:多次请求的起点,这里为0,即从 pageSize=0 ;

    3. Step:每次请求的步长设置,设置大于等于1即可,例如设置为1,下次请求 pageSize=1;

    4. EndIndex:多次请求的终点,设置为 10 ,即当 pageSize=10,终止读取的请求。

  7. 目标端选择已创建成功的 Hive 数据表:dataleap_xxxxx_test.restapi_no_auth_test。

  8. 字段映射中,单击自动添加按钮,调整字段映射顺序,配置来源和目标端字段。

验证数据

任务案例配置完成后:

  1. 单击上方操作栏中调试按钮,进行开发环境任务调试。

  2. 等待任务运行成功后,左上角全部产品中前往数据地图,通过检索 Hive 表,并对其进行预览探查,查看数据是否和源端数据一致。