![](/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.