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

MaxCompute分区表直接count()提示ODPS-0130071 semantic 异常。分

MaxCompute分区表直接count()提示ODPS-0130071 semantic 异常。分区表这样不能查吗?

展开
收起
真的很搞笑 2023-04-11 22:41:36 270 0
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    MaxCompute的分区表在直接对其使用count()操作时会提示ODPS-0130071语义异常错误,这是因为MaxCompute的分区表并不是一个包含数据的表,而仅仅是目录,存放着指向实际存储数据位置的链接。因此,使用count()操作无法处理这些链接,因而会提示语义异常错误。

    要想获取分区表中数据的数量,可以使用partition number()语句来查询每个分区的数据量。示例如下:

    SELECT partition_number() as partition_count FROM my_partition_table;

    此外,还可以使用类似下面的查询语句:

    SELECT sum(cnt) as total_count FROM (SELECT count(*) as cnt FROM my_partition_table GROUP BY 分区键);

    其中,分区键是指分区表中定义的分区列,GROUP BY分组可以根据分区键将分区表中的数据分组进行统计,然后使用sum()函数将每个分组的数据量相加,得到总数据量。

    总之,尽管不能直接对MaxCompute的分区表进行count()操作,但是可以通过其他方式来获得分区表中实际存储数据的数量。

    2023-04-15 15:27:35
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,ODPS中会限制单个作业中最多不能超过10万个instance,而作业中的instance是和用户输入的数据量和SQL的结构密切相关的。 set odps.sql.mapper.split.size=4096; 在正式的sql前面加上这句,设定一个map的最大数据输入量,单位M,默认256M。用户可以通过控制这个变量,从而达到对map端输入的控制。

    2023-04-13 08:43:18
    赞同 1 展开评论 打赏

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

相关产品

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

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