AWS Athena 为啥单行或其列的大小不能超过 32 MB 错误 select * from tableName 但不是在 where 条件
Posted
技术标签:
【中文标题】AWS Athena 为啥单行或其列的大小不能超过 32 MB 错误 select * from tableName 但不是在 where 条件【英文标题】:AWS Athena why size of a single row or its columns cannot exceed 32 MB error in select * from tableName but not in where conditionAWS Athena 为什么单行或其列的大小不能超过 32 MB 错误 select * from tableName 但不是在 where 条件 【发布时间】:2021-11-03 12:32:36 【问题描述】:当我运行 select * from tableName
时,我在 AWS Athena 中遇到以下错误:
您的查询存在以下错误: [ErrorCategory:USER_ERROR, ErrorCode:DATA_ERROR], Detail: 单行或列的大小不能超过 32 MB
当我运行select * from tableName where col1 is not null
时。我可以看到所有数据。
我担心的是:为什么 select * from tableName
没有 where 条件会在 AWS Athena 上给我错误,而 with where 条件不会给我错误。
后端针对这两个查询会发生什么。我正在从 S3 读取镶木地板数据并在 AWS Athena 上进行查询。
请分享您的意见。
【问题讨论】:
可能是另一列太宽,但col1
在这些特定行上为空。例如,选择 col1 is null
可能会碰到列太大的行。
@JohnRotenstein 有道理。如果您可以共享表中每一列的数据类型以确认是这种情况,那就太好了。
【参考方案1】:
我确实有类似的问题。此外,我检查了条件列无论如何都不应该影响。
SELECT * FROM tableName;
失败并出现错误单行大小或其列不能超过 32 MB
虽然SELECT * FROM tableName WHERE colName < 30 * 1024 * 1024;
没有失败。
最有趣的是SELECT count(*) FROM tableName;
的结果等于SELECT count(*) FROM tableName WHERE colName < 30 * 1024 * 1024;
的结果
【讨论】:
这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review以上是关于AWS Athena 为啥单行或其列的大小不能超过 32 MB 错误 select * from tableName 但不是在 where 条件的主要内容,如果未能解决你的问题,请参考以下文章
AWS Athena 可以更新或插入存储在 S3 中的数据吗?
腾讯微云上传文件大小限制是多少?为啥我不能上传超过1g的文件?今天刚用不了解,我记得以前不是宣传