我有一个包含许多表的数据库db1
例如,我想删除所有带有前缀v1_的表 像
DROP TABLE IF EXISTS v1_*;
你有什么主意吗?
答案 0 :(得分:1)
不幸的是,这与Athena SQL无关。
但是,您可以使用Glue API实现类似的功能,例如通过AWS CLI:
aws glue get-tables \
--region us-east-1 \
--database-name my_database \
--query 'TableList[].Name' \
--output text \
| grep -F v1_ \
| xargs -n 1 aws glue delete-table \
--region us-east-1 \
--database-name my_database \
--name
上面的命令列出了us-east-1区域中名为“ my_database”的数据库中的所有表,并按“ v1_”进行过滤(您可能希望通过正则表达式进行过滤,以确保仅在开头进行匹配) 。然后,它将匹配的表名一个接一个地传送到删除它们的命令中。