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

请问下大数据计算MaxCompute,读取出来却超过我的内存(8G内存)大小了喃?这是怎么回事啊?

请问下大数据计算MaxCompute,7676e11d9c2d9792a228c69fa0e46b05.png
我这个表只有224M的数据,我用这个方法52c839b24d8d03461077c50479916b55.png
读取出来却超过我的内存(8G内存)大小了喃?这是怎么回事啊?

我改了一种读取方式,能获取到logview了

http://logview.odps.aliyun.com/logview/?h=http://service.ap-southeast-1.maxcompute.aliyun-inc.com/api&p=qdp_sg_space_intl&i=20240116030420667g1ygw9ceaeg6&token=U3JMemZtN21rNnZ2OWdpZGFFeW1IZVIvdFRnPSxPRFBTX09CTzpwNF8yNTU1MTkwNzQwMjMyNDYyMTQsMTcwNzk2NjI2MCx7IlN0YXRlbWVudCI6W3siQWN0aW9uIjpbIm9kcHM6UmVhZCJdLCJFZmZlY3QiOiJBbGxvdyIsIlJlc291cmNlIjpbImFjczpvZHBzOio6cHJvamVjdHMvcWRwX3NnX3NwYWNlX2ludGwvaW5zdGFuY2VzLzIwMjQwMTE2MDMwNDIwNjY3ZzF5Z3c5Y2VhZWc2Il19XSwiVmVyc2lvbiI6IjEifQ==

但我看logview是没问题的,现在问题出在这个reader.to_pandas(),因为数据很大,超过内存(8G)了,直接就被Linux给killed了,这个表这个分区我看又只有224M数据,但读取出来为啥这么大,这个压缩比到底是多少哦?

展开
收起
真的很搞笑 2024-01-22 19:50:32 75 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在MaxCompute中读取数据超过内存大小可能是由于数据量过大或内存分配不足导致的

    为了解决这个问题,可以采取以下几个措施:

    1. 调整内存设置:可以通过设置odps.stage.mapper.memodps.stage.reducer.memodps.stage.joiner.mem等参数来增加每个任务的内存限制。例如,使用命令set odps.stage.mapper.split.size=256;可以调整每个Mapper读取数据的大小为256 MB。
    2. 优化查询:检查SQL查询是否可以进行优化,比如减少不必要的数据加载、使用分区表来限制查询的数据范围等。
    3. 增加Worker节点:如果单个Worker的内存不足以处理数据,可以考虑增加Worker节点的数量,并相应地提高每个节点的内存配置。
    4. 使用UDF:如果数据处理复杂,可以考虑使用MaxCompute的用户自定义函数(UDF)来优化处理逻辑。在使用UDF时,如果处理的数据量很大,可以在UDF的Java类方法中调用ExecutionContext.claimAlive来重置计时器,避免因长时间占用CPU资源而被系统限制。

    需要注意的是,在进行这些调整时,应该根据实际情况和系统的限制来进行,避免过度消耗资源或超出系统的限制。同时,也需要考虑到成本和效率的平衡,确保资源的合理利用。

    2024-01-22 21:13:26
    赞同 展开评论 打赏

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

相关产品

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

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