如何在AWS中删除连接到表中某列的文件



我在拼花文件上使用爬虫创建了一些表。我想删除其中一个表的列中包含的所有数据(在S3中)。我该怎么做呢?

我尝试ALTER TABLE table_name DROP column,但是没有成功

假设您提到ALTER TABLE和DROP时指的是Athena。Athena是一个查询引擎,用于在数据被编目(在您的情况下是由爬虫编目)后从s3获取和连接数据。s3上的数据是不可变的,这意味着Athena不能修改或删除s3上的数据;为了更改s3中的数据,您必须创建新数据并删除旧数据。

在你的情况下,我看到了两种方便的方法来完成你的要求。

  1. CREATE TABLE AS SELECT(CTAS)查询创建一个新表。在这里,您可以指定存储表数据的s3位置。然后,您可以删除旧表以从Glue中删除元数据,并手动从s3中删除旧文件。
  2. 如果你不需要从s3中删除数据,你可以在旧表上创建一个视图,其中不包含你想要删除的列。

最新更新