本文将 RestAPI 中的数据通过数据集成离线任务的方式,导入到 Hive 数据表中,供后续离线分析使用。您可参考本文来完成 RestAPI-Hive 通道任务的新建、参数配置等操作。
已完成 RestAPI 数据源新建操作。详见 RestAPI数据源注册。
登录 DataLeap 控制台。
单击右侧快速入口 > 数据开发按钮,进入到数据开发界面。
在左侧目录树中,单击“新建任务”。
选择离线数据 > 离线集成任务类型。
并完成以下任务基本信息配置:
任务名称:输入任务名称,只允许字符.、字母、数字、下划线、[]、【】、()、()以及中文字符。
保存至:选择任务存放的目标文件夹位置。
单击确定按钮,完成任务新建。
任务新建完成后,进入到任务配置界面,完成以下参数配置:
完成以下数据来源端的配置:
参数项 | 说明 |
---|---|
数据源类型 | REST_API |
数据源名称 | 选择在数据源管理中,注册成功的 REST_API 数据源,下拉列表中选择。 |
请求 Method | 请求方法支持 GET 和 POST,两种方式。 |
请求参数 | 输入传递给 API 的请求参数信息:
|
返回数据结构 | 接口返回数据的类型,返回一条数据或者一组数据。 |
数据格式 | 支持 json 的格式。 |
数据存储json | 单条或者数组数据存储的json路径,可为$(表示保存在根路径),或者类似 aa.bb.cc 的格式。 |
预览数据 | 预览展示 API 中的数据情况。 |
请求次数 | 选择reader端是单次请求或者多次请求,多次请求需要配置参数,多次请求时,需添加以下对应参数:
|
完成以下数据去向的目标数据源信息配置:
参数项 | 说明 |
---|---|
目标类型 | 数据去向目标类型选择 Hive。 |
数据库 | 下拉选择 Hive 下对应的数据库名称。 |
数据表 | 对应 Hive数据库下已创建的 Hive 表,下拉可选。或单击快速建表, 便可前往数据地图进行 Hive 表创建。 |
分区设置 |
|
设置字段映射关系,您可进行以下操作:
单击自动添加按钮,可以自动填充目标的字段信息。
单击手动添加按钮,可以手动编辑源和目标的字段信息。
可以根据需要移动字段顺序或删除字段。
您可选择是否开启高级参数设置,进行并发、数据清洗、自定义参数设置等高级参数的配置,详见高级参数设置。
您可根据实际需要,设定相应的任务自定义参数,RestAPI 自定义参数列表参考:
参数 | 默认值 | 备注 |
---|---|---|
job.reader.poll_interval_mills | 1000 | 单位 ms,API 请求间隔。 |
job.reader.retry | 3 | 获取数据时连接失败的重试次数 |
job.reader.retry_backoff_multiplier_ms | 100 | 重试时间是斐波那契数列,重试间隔的倍数, |
job.reader.retry_backoff_max_ms | 10000 | 单位 ms,重试间隔最多10s |
job.reader.connenct_timeout | 10000 | 单位 ms,http请求超时时间10s |
任务参数配置完成后,您可进行数据集成同步任务的调度设置,使任务在生产环境中,能周期性的调度执行。详见调度设置。
RestAPI 数据源准备
目标端 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数据源注册。
API url:http://xxx.xxx.x.xxx:5000/basic/post
默认请求头:{"Authorization":"xxxxx-token-1"}
鉴权方式:根据 API 开通的鉴权方式进行选择,此示例中选择 no auth。
请求Method:需和数据源中 API Url 中访问方式对应,此处选择为:POST。
请求参数:将请求参数以对应的格式填入,此处请求参数为:
{ "index":"1", "pageSize":"10", "isArray":"True" }
返回数据结构:根据请求参数,选择接口返回的数据类型,此处选择返回“数组数据”。
数据存储 json 路径:接口返回内容中,字段之间的层次关系,可用aa.bb.cc的形式表示。非必填。
预览数据:在以上信息配置完成后,您可单击自动获取刷新按钮,即可预览 API 下的数据。
请求次数:选择读取数据的请求次数,选择多次请求时,需填写以下参数:
多次请求的对应参数,例如输入:pageSize
StartIndex:多次请求的起点,这里为0,即从 pageSize=0 ;
Step:每次请求的步长设置,设置大于等于1即可,例如设置为1,下次请求 pageSize=1;
EndIndex:多次请求的终点,设置为 10 ,即当 pageSize=10,终止读取的请求。
目标端选择已创建成功的 Hive 数据表:dataleap_xxxxx_test.restapi_no_auth_test。
字段映射中,单击自动添加按钮,调整字段映射顺序,配置来源和目标端字段。
任务案例配置完成后:
单击上方操作栏中调试按钮,进行开发环境任务调试。
等待任务运行成功后,左上角全部产品中前往数据地图,通过检索 Hive 表,并对其进行预览探查,查看数据是否和源端数据一致。