开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

大数据计算MaxCompute该如何实现?

我这有个需求,表a有3个字段aa、oldaa、id。oldaa等于改表其他条数aa字段,以此类推(循环次数不确定),想找到最早的aa字段。大数据计算MaxCompute该如何实现?如果用循环节点该怎么使用?就是一个人他补多次票,但是每一次票的数据只记录上一次的票号,想获得最早的票号

展开
收起
夹心789 2024-05-19 17:43:34 48 0
2 条回答
写回答
取消 提交回答
  • 要在MaxCompute中找到最早的aa字段值,您可以使用自连接和ARG_MIN函数。假设表a的结构是aa, oldaa, id,可以这样查询:

    SELECT a1.id, a1.aa AS earliest_aa
    FROM a AS a1
    JOIN (
      SELECT id, MIN(aa) AS min_aa
      FROM a
      GROUP BY id
    ) AS a2
    ON a1.aa = a2.min_aa;
    

    这个查询首先找到每个id的最小aa值(a2),然后通过自连接找到对应最早的aa值的记录(a1)。

    MaxCompute不支持循环节点,通常处理大数据时我们使用SQL来完成这种逻辑。如果需要多次迭代更新,可以构建一系列的SQL任务或者使用工作流(DataWorks中的Workflow)来按顺序执行这些任务。请根据具体业务需求调整上述SQL,确保处理所有的复杂逻辑。
    image.png

    2024-07-05 16:37:26
    赞同 展开评论 打赏
  • sql 不能 循环 ,此回答整理自钉群“MaxCompute开发者社区2群”

    2024-05-20 09:09:10
    赞同 1 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载