![](/img/trans.png)
[英]AWS Athena MSCK REPAIR TABLE "table_name" Error adding new partitions
[英]Running multiple MSCK REPAIR TABLE statements in AWS Athena
所以我试图在 AWS Athena 中执行以下操作,它一次只允许运行一个语句:
MSCK REPAIR TABLE some_database.some_table_001;
MSCK REPAIR TABLE some_database.some_table_002;
MSCK REPAIR TABLE some_database.some_table_003;
问题是,我只是没有三个语句,我有 700 多个类似的语句,并且想一次性运行所有 700 多个语句。
所以使用 AWS CloudShell CLI 并尝试运行以下命令:
aws athena start-query-execution --query-string "MSCK REPAIR TABLE `some_table_001`;" --work-group "primary" \
--query-execution-context Database=some_database \
--result-configuration "OutputLocation=s3://some_bucket/some_folder"
..希望我可以使用 Excel 生成 700 多个这样的语句并作为批处理运行
..但不断收到此错误:
调用 StartQueryExecution 操作时发生错误 (InvalidRequestException):第 1:1 行:输入“MSCK”不匹配。 期望:'ALTER'、'ANALYZE'、'CALL'、'COMMIT'、'CREATE'、'DEALLOCATE'、'DELETE'、'DESC'、'DESCRIBE'、'DROP'、'EXECUTE'、'EXPLAIN'、 'GRANT', 'INSERT', 'PREPARE', 'RESET', 'REVOKE', 'ROLLBACK', 'SET', 'SHOW', 'START', 'UNLOAD', 'UPDATE', 'USE', <查询>
不确定我做错了什么,因为同一个 MSCK 命令似乎在 Athena 控制台中运行良好。 我知道雅典娜很挑剔
`some_table_001`
相对
'some_table_001'
(不同类型的单引号),我都试过了,但没有成功。
对可能的解决方案有什么想法吗?
对于 Amazon Athena,表名称和表列名称中不支持除下划线 (_) 以外的特殊字符。
由于您的表名不包含特殊字符,因此您不需要将其用引号或反引号括起来。 但是,如果您的表名包含特殊字符,那么您将不得不使用反引号。 请参阅下面的 Amazon Athena 文档以获取更多详细信息。
关于在 Amazon Athena 中运行多个 MSCK REPAIR TABLE 语句,您还可以使用任何 SDK,例如 boto3 (Python)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.