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

maxcompute Py2 odps..execute_sql("desc tab") 问题

with odps.execute_sql(“desc table ”).open_reader() as desc:

        for j,ele in enumerate(desc[:]) :
            print ele[0]
            scv_tab_desc.append(ele[:])
            print "--->"

遍历desc到第32个元素时 for j,ele in enumerate(desc[12:]) : 行下标越界 ; 这是什么原因?是否有什么参数需要设置,注意,当该表字段数不足32个时运行没有问题的,

展开
收起
vk3u67jhftyoi 2022-01-06 09:45:47 580 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,根据您提供的代码和描述,问题可能出现在遍历desc时的索引范围上。当表字段数不足32个时,遍历没有问题,但超过32个字段时就会导致行下标越界。

    可以尝试使用enumerate(desc)来遍历desc列表,并在循环中添加一个条件来限制遍历的次数,以避免越界错误。例如:

    for j, ele in enumerate(desc):
        if j < 32:
            print(ele[0])
            scv_tab_desc.append(ele[:])
            print("--->")
    

    这样设置后,只有前32个元素会被遍历并执行相应的操作,超过32个元素的部分将被忽略。

    另外,请确保表名正确,并确认是否需要引号或其他特殊字符来正确指定表。

    2023-07-09 22:00:00
    赞同 展开评论 打赏

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

相关产品

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

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