开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

麻烦问下,DataWorks调用http接口是动态分页,没有最终的页数需要通过接口中返回的值计算要?

麻烦问下,DataWorks调用http接口是动态分页,没有最终的页数需要通过接口中返回的值计算要怎么做呀?image.png

展开
收起
真的很搞笑 2023-07-25 18:19:23 86 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    是的,当你在DataWorks中调用一个动态分页的 HTTP 接口时,通常并没有预先确定的最终页数。在这种情况下,你需要根据接口返回的数据来动态计算下一页的页码或者判断是否已到达最后一页。

    以下是一种常见的处理方式:

    首先,你可以使用一个变量(比如 page)来记录当前页码,初始值可以设为 1。

    在调用 HTTP 接口节点中,设置请求的参数中的页码为变量 page 的值。

    调用 HTTP 接口并获取接口返回的数据。

    在数据处理节点中,根据接口返回的数据进行处理,并根据数据中的信息判断是否还有下一页。

    如果接口返回的数据满足某个条件表明还有下一页,则将变量 page 的值加一,表示进入下一页。
    如果接口返回的数据不满足条件,表示已到达最后一页,可以结束流程或进行其他处理。
    回到第 2 步,继续调用 HTTP 接口并获取下一页的数据,重复处理过程。

    2023-07-30 16:55:06
    赞同 展开评论 打赏
  • 是的,当在DataWorks中调用HTTP接口并进行动态分页时,通常是根据接口返回的值来计算下一次请求的页数。

    具体的步骤可以参考以下方式:

    1. 确定初始页码和每页的数据量:首先,确定第一次请求时的页码(通常为1)和每页需要获取的数据量。

    2. 发起HTTP请求并获取接口返回的数据:使用DataWorks中的数据开发模块或其他方法发起HTTP请求,并获取接口返回的数据。

    3. 解析接口返回的数据:根据接口返回的数据格式,解析出其中包含的总记录数、当前页码以及每页的数据列表等信息。

    4. 根据总记录数和每页数据量计算页数:通过接口返回的总记录数和每页的数据量,可以计算出总页数。一般而言,页数可通过以下公式计算:页数 = ceil(总记录数 / 每页数据量)。

    5. 根据当前页码和总页数判断是否继续请求:根据当前页码和总页数,判断是否还有剩余的页面需要请求数据。如果当前页码小于总页数,则继续发起新的HTTP请求以获取下一页的数据。

    6. 重复步骤2至5直到获取所有数据:循环执行步骤2至5,直到获取到所有分页数据为止。

    2023-07-26 21:45:09
    赞同 展开评论 打赏
  • 不能配置动态的 只能配置大一些的数值,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-07-25 18:27:30
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks全链路数据质量解决方案-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载